{"data":{"slug":"dunetrace-dunetrace","name":"dunetrace","tagline":"Real-time monitoring of production AI agents","github_url":"https://github.com/dunetrace/dunetrace","owner":"dunetrace","repo":"dunetrace","owner_avatar_url":"https://avatars.githubusercontent.com/u/262652096?v=4","primary_language":"Python","stars":64,"forks":18,"topics":["agent-monitoring","agent-observability","agent-reliability","agent-tools","ai-agents","ai-tools","analytics","crewai","good-first-issue","langchain","langdock","langfuse","llm-observability","mcp-server","monitoring","observability","otel","real-time-monitoring","semantic-evaluation","voice-agents"],"archived":false,"github_pushed_at":"2026-08-31T22:37:26+00:00","maintenance_label":"Active","stars_delta_30d":5,"url":"https://www.graphcanon.com/tools/dunetrace-dunetrace","markdown_url":"https://www.graphcanon.com/tools/dunetrace-dunetrace.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/dunetrace-dunetrace","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=dunetrace-dunetrace","description":"The runtime reliability layer for AI agents.","homepage_url":"https://dunetrace.com/","license":"Other","open_issues":20,"watchers":0,"ai_summary":"A real-time monitoring tool for AI agents that offers observability and reliability insights in Python and Node.js.","readme_excerpt":"## Quick Start\n\nSee the [examples index](examples/README.md) for ready‑to‑run examples.\n\n**1. Start the backend**\n```bash\ngit clone https://github.com/dunetrace/dunetrace\ncd dunetrace && cp .env.example .env\ndocker compose -f docker-compose.ghcr.yml up -d\npip install -r requirements.txt\n```\n\n**2. Install the SDK**\n```bash\npip install dunetrace                       # Python\nnpm install dunetrace                       # Node.js / TypeScript\n```\n\n**3. Instrument your agent**\n\n**Python**\n```python\nfrom dunetrace import Dunetrace\nimport openai\n\ndt = Dunetrace()\ndt.init(agent_id=\"support-agent\")   # auto-instruments installed clients (OpenAI, Anthropic, Mistral, Bedrock, LangChain, CrewAI, httpx, requests)\n\n@dt.agent(\"support-agent\", model=\"gpt-4o\")\ndef my_agent(question: str) -> str:\n    resp = openai.chat.completions.create(\n        model=\"gpt-4o\",\n        messages=[{\"role\": \"user\", \"content\": question}],\n    )\n    return resp.choices[0].message.content   # LLM + tool calls tracked automatically, no manual hooks\n```\n\n**TypeScript / Node.js**\n```typescript\nimport { Dunetrace, autoInstrument } from \"dunetrace\";\nimport OpenAI from \"openai\";\n\nconst dt = new Dunetrace();\nautoInstrument({ openai: OpenAI });   // patches OpenAI + outbound fetch; add `anthropic:` / `mistral:` too, or wrap one client with dt.wrapOpenAI()\n\nconst openai = new OpenAI();          // constructed after the patch — still tracked\n\nawait dt.run(\"support-agent\", { model: \"gpt-4o\" }, async (run) => {\n  await openai.chat.completions.create({ model: \"gpt-4o\", messages });\n  run.finalAnswer();                  // LLM + tool calls tracked automatically, streaming included\n});\n```\n\n→ [TypeScript auto-instrumentation](docs/integrate-typescript-agent.md#auto-instrumentation)\n\n**Try the built-in failure scenarios**\n\n```bash\ncd packages/sdk-py                                      # Python\npython examples/basic_agent.py                          # No LLM calls\nSCENARIO=tool_loop python examples/langchain_agent.py   # TOOL_LOOP via LangChain\nSCENARIO=failures python examples/decorator_agent.py    # TOOL_LOOP, RETRY_STORM, RAG_EMPTY_RETRIEVAL\n\ncd ../sdk-ts && npm install && ollama pull llama3.2   # TypeScript — Vercel AI SDK on local Ollama, no API key\nnpm run example:vercel-ai                               # Happy path\nnpm run example:vercel-ai:loop                          # TOOL_LOOP → detect → explain, end to end\n```\n\nOpen the dashboard: **[http://localhost:3000](http://localhost:3000)**\n\n---","github_created_at":"2026-03-06T20:37:57+00:00","created_at":"2026-07-15T10:41:51.135186+00:00","updated_at":"2026-09-20T04:25:37.48194+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":"agent-monitoring","name":"agent-monitoring"},{"slug":"agent-observability","name":"agent-observability"},{"slug":"ai-agents","name":"ai-agents"},{"slug":"real-time-monitoring","name":"real-time-monitoring"}],"trust":{"provenance":{"is_fork":false,"github_id":1174776303,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-11T06:00:17.096Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":0,"days_since_push":10,"last_release_at":null,"stars_delta_30d":5,"open_issues_delta_30d":-1},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":4,"high_count":0,"last_scan_at":"2026-07-15T10:41:52.595Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-11T06:00:17.637Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-11T06:00:17.637Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-09-11T06:00:17.637Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-11T06:00:17.637Z"},"license_spdx":{"value":"Other","source":"github.license","observed_at":"2026-09-11T06:00:17.637Z"}},"decision_facts":{"hosting":null,"pricing":{"model":"unknown","summary":"The repository does not specify any pricing information; it only mentions a license which is categorized as 'other'."},"requirements":{"min_ram_gb":null,"requires_docker":true},"constraints":{"min_ram_gb":null,"pricing_model":"unknown","requires_docker":true},"when_to_use":["When you need to monitor the performance of AI agents in real-time, as dunetrace offers insights specific to observability and reliability.","If your project involves Python or Node.js development and requires detailed monitoring of AI agent operations.","To quickly instrument your existing Python or Node.js AI-related codebases with ease, leveraging straightforward SDK installation methods."],"when_not_to_use":["When focusing solely on non-code aspects like UI/UX without any need for backend AI agent observation.","If you are looking for a platform that supports extensive integrations beyond Python and Node.js, as dunetrace's focus is limited to these environments.","For organizations that prefer proprietary solutions over tools under other licenses."],"source":"enrich:decision_facts","observed_at":"2026-07-17T02:07:05.725Z"},"constraint_facets":{"min_ram_gb":null,"pricing_model":"unknown","requires_docker":true},"decision_summary":[{"label":"Pricing","value":"unknown - The repository does not specify any pricing information; it only mentions a license which is categorized as 'other'."},{"label":"Requirements","value":"Requires Docker"},{"label":"Adopt for","value":"dunetrace is a real-time monitoring tool for AI agents in production that provides insights into observability and reliability, primarily targeting Python and Node.js ecosystems."}]}}