{"data":{"slug":"future-agi-traceai","name":"traceAI","tagline":"Open-source observability for AI applications","github_url":"https://github.com/future-agi/traceAI","owner":"future-agi","repo":"traceAI","owner_avatar_url":"https://avatars.githubusercontent.com/u/147392366?v=4","primary_language":"Python","stars":201,"forks":36,"topics":["ai","ai-agents","langchain","large-language-models","observability","openai","opentelemetry","tracing"],"archived":false,"github_pushed_at":"2026-06-15T06:36:15+00:00","maintenance_label":"Active","url":"https://www.graphcanon.com/tools/future-agi-traceai","markdown_url":"https://www.graphcanon.com/tools/future-agi-traceai.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/future-agi-traceai","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=future-agi-traceai","description":"Open Source AI Tracing Framework built on Opentelemetry for AI Applications and Frameworks","homepage_url":"https://app.futureagi.com","license":"Apache-2.0","open_issues":9,"watchers":2,"ai_summary":"An open-source framework built on OpenTelemetry for tracking every aspect of AI interactions, including LLM calls, prompts, tokens, retrievals, and agent decisions.","readme_excerpt":"<div align=\"center\">\n\n\n\n# traceAI\n\n**Open-source observability for AI applications - trace every LLM call, prompt, token, retrieval step, and agent decision.**\n\nBuilt on [OpenTelemetry](https://opentelemetry.io/), traceAI sends structured traces to any OTel-compatible backend (Datadog, Grafana, Jaeger, Future AGI, and more). No new vendor. No new dashboard.\n\n\n\n\n\n\n\n\n\n\n\n\n[Documentation](https://docs.futureagi.com/integrations/overview) • [Examples](https://docs.futureagi.com/cookbook/cookbook8/How-To-Implement-Observability) • [Slack](https://join.slack.com/t/future-agi/shared_invite/zt-3gqwrdf2p-4oj1LVPqkQIoiS_OSrFL2A) • [PyPI](https://pypi.org/project/fi-instrumentation-otel/) • [npm](https://www.npmjs.com/package/@traceai/fi-core) • [NuGet](https://www.nuget.org/packages/fi-instrumentation-otel)\n\n</div>\n\n---\n\n<div align=\"center\">\n  <img src=\"trace-repo.gif\" alt=\"traceAI Demo\" width=\"70%\" />\n</div>\n\n---\n\n## What is traceAI?\n\nYour agent calls an LLM, retrieves context, invokes a tool, and returns an answer. When that answer is wrong, you need to know exactly where it broke - which retrieval missed, which tool returned stale data, which prompt drifted.\n\n**traceAI** captures every LLM call, prompt, token count, retrieval step, and agent decision as structured OpenTelemetry traces. Your traces live natively in Datadog, Grafana, Future AGI, Jaeger, or any OTel-compatible backend. No new vendor. No new dashboard.\n\n- **Drop-in instrumentation** for 50+ AI frameworks across 4 languages\n- **OpenTelemetry-native** - works with any OTel-compatible backend\n- **Semantic conventions** for LLM calls, agents, tools, retrieval, and vector databases\n- **Python, TypeScript, Java, and C#** with consistent APIs\n\n---\n\n## Table of Contents\n\n- [Key Features](#key-features)\n- [Quickstart](#quickstart)\n  - [Python](#python-quickstart)\n  - [TypeScript](#typescript-quickstart)\n  - [Java](#java-quickstart)\n  - [C#](#c-quickstart)\n- [Supported Frameworks](#supported-frameworks)\n  - [Python](#python)\n  - [TypeScript](#typescript)\n  - [Java](#java)\n  - [C#](#c)\n- [Compatibility Matrix](#compatibility-matrix)\n- [Architecture](#architecture)\n- [Roadmap](#roadmap)\n- [Contributing](#contributing)\n- [Contributors](#contributors)\n- [Resources](#resources)\n- [Connect With Us](#connect-with-us)\n\n## Key Features\n\n| Feature | Description |\n|---------|-------------|\n| **Standardized Tracing** | Maps AI workflows to consistent OpenTelemetry spans and attributes |\n| **Drop-in Setup** | Add 3 lines to your existing code - no refactoring needed |\n| **Multi-Framework** | 50+ integrations across Python, TypeScript, Java, and C# |\n| **Vendor Agnostic** | Works with any OpenTelemetry-compatible backend |\n| **Rich Context** | Captures prompts, completions, tokens, model params, tool calls, and more |\n| **Production-grade** | Async support, streaming, error handling, and low-overhead tracing |\n\n---\n\n## Quickstart\n\n### Python Quickstart\n\n**1. Install**\n```bash\npip install traceai-openai\n```\n\n**2. Instrument your application**\n```python\nimport os\nfrom fi_instrumentation import register\nfrom fi_instrumentation.fi_types import ProjectType\nfrom traceai_openai import OpenAIInstrumentor\nimport openai\n\n# Set up environment variables\nos.environ[\"FI_API_KEY\"] = \"<your-api-key>\"\nos.environ[\"FI_SECRET_KEY\"] = \"<your-secret-key>\"\nos.environ[\"OPENAI_API_KEY\"] = \"<your-openai-key>\"\n\n# Register tracer provider\ntrace_provider = register(\n    project_type=ProjectType.OBSERVE,\n    project_name=\"my_ai_app\"\n)\n\n# Instrument OpenAI\nOpenAIInstrumentor().instrument(tracer_provider=trace_provider)\n\n# Use OpenAI as normal - traces are captured automatically\nresponse = openai.chat.completions.create(\n    model=\"gpt-4.1\",\n    messages=[{\"role\": \"user\", \"content\": \"Hello!\"}]\n)\n```\n\n> **Tip:** Swap `traceai-openai` for any supported framework (e.g., `traceai-langchain`, `traceai-anthropic`)\n\n---\n\n### TypeScript Quickstart\n\n**1. Install**\n```bash\nnpm install @traceai/openai @traceai/fi-core\n```\n\n**2. Instrumen","github_created_at":"2025-04-15T04:57:02+00:00","created_at":"2026-07-11T10:48:14.554044+00:00","updated_at":"2026-07-12T08:27:23.326664+00:00","categories":[{"slug":"evaluation-observability","name":"Evaluation & Observability","url":"https://www.graphcanon.com/categories/evaluation-observability","markdown_url":"https://www.graphcanon.com/categories/evaluation-observability.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/evaluation-observability"}],"tags":[{"slug":"ai-agents","name":"ai-agents"},{"slug":"llm-frameworks","name":"llm frameworks"},{"slug":"observability","name":"observability"},{"slug":"opentelemetry","name":"opentelemetry"}],"trust":{"provenance":{"is_fork":false,"github_id":966544022,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T10:48:15.192Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":0,"days_since_push":26,"last_release_at":"2026-03-11T14:40:15Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:48:16.346Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-12T08:27:23.272Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-12T08:27:23.272Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-07-12T08:27:23.272Z"}}}}