Model or dataset
AgentOps-AI/agentops avatar
AgentOps-AI/agentops

AgentOps: A Python SDK for Tracing, Costing, and Replaying AI Agent Runs

Python SDK for AI agent monitoring, LLM cost tracking, benchmarking, and more. Integrates with most LLMs and agent frameworks including CrewAI, Agno, OpenAI Agents SDK, Langchain, Autogen, AG2, and CamelAI

5,819 stars622 forksPythonMIT

At a glance

What is it?
AgentOps is an open-source Python SDK that records LLM calls inside agent frameworks, sends them to a dashboard, and supports self-hosting. It is useful for teams that need session-level visibility, but the thin README leaves deployment details to the docs.
Who is it for?
Adopt AgentOps if you build agents with CrewAI, Agno, OpenAI Agents SDK, LangChain, AutoGen, AG2, or CamelAI and need a single dashboard for session replays, cost totals, and step-by-step execution graphs. Skip it if you cannot send session data to a third-party dashboard and are not ready to operate the self-hosted app, because the README gives no resource or scaling guidance.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 83 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What AgentOps Actually Tracks

The SDK exists to answer three questions that otherwise require stitching together logs from different providers: what did each agent session do, what did it cost, and where did it go wrong. The README lists replay analytics with step-by-step execution graphs, LLM cost management by foundation model provider, and framework integrations as the main features. The target user is a Python developer who builds multi-step agents and wants a chronological view of tool calls, LLM responses, and session outcomes. The two-line quick start, calling agentops.init at the start of the program and agentops.end_session('Success') at the end, implies that the core value is automatic capture of every LLM call inside that window. The documentation also mentions a session decorator that creates a root span for other spans, so the model is hierarchical: one session contains many events, and each event can be nested.

The Mechanism: Decorators, Spans, and a Remote Dashboard

Based on the repository layout and the README examples, AgentOps works by wrapping your agent entry points and automatically intercepting LLM calls. The quick start uses a plain function call to init, which suggests a global client that hooks into supported frameworks under the hood. The decorated example imports from agentops.sdk.decorators and applies @session to a workflow function, which implies that the SDK uses Python decorators to define the boundaries of a session. Inside that session, the SDK records events such as LLM requests, tool executions, and errors, then sends them to the hosted dashboard at app.agentops.ai. The dashboard screenshots show chat viewers, event graphs, and session drilldowns, so the data model is event-based with timestamps and metadata. The mention of 'Replay Analytics' points to a feature that reconstructs the session as a sequence of steps, which is different from simple log aggregation because it preserves the order and nesting of agent actions.

Getting Running: Two Lines, Then a Dashboard Account

Installation is a single pip command: pip install agentops. After that, you need an API key from the AgentOps dashboard, which the README links to app.agentops.ai/settings/projects. The init call takes that key as an argument. The README example shows agentops.init( < INSERT YOUR API KEY HERE >) without any other configuration, which is unusually terse. For a production setup you will likely need to read the documentation to learn how to set the API key via environment variables, because hard-coding a key in source is a bad practice. The end_session call accepts a string like 'Success', which implies that you can mark a session as failed by passing a different status. For framework-specific integrations, the README links to separate pages for OpenAI Agents SDK, CrewAI, LangChain, and others, so the actual setup may require importing a framework-specific module rather than just calling init. The self-hosting path is mentioned only as a pointer to app/README.md, which is not included in the supplied material.

Framework Coverage and the Cost of Being Broad

The integration list is the strongest part of the pitch: CrewAI, Agno, OpenAI Agents SDK, LangChain, AutoGen, AG2, CamelAI, plus Cohere and LlamaIndex appear in the README badges and links. That breadth means a team can standardise on AgentOps across different agent stacks without writing custom instrumentation for each one. The trade-off is that each integration is a separate code path that the maintainers must keep in sync with upstream framework changes. The release dates in the repository metadata show a cadence of roughly two weeks between versions 0.4.19, 0.4.20, and 0.4.21, which indicates active maintenance but also frequent changes. A team that pins an exact SDK version may find that a framework upgrade breaks the integration until AgentOps releases a matching update. The README does not state which framework versions are supported, so you must verify compatibility against your own dependency set.

Where the README Leaves You Hanging

The README is a marketing document, not an operations manual. It does not explain how the SDK transmits data, whether it buffers events locally, what happens on network failure, or how much overhead the decorators add to a session. It does not mention data retention, privacy, or whether the hosted dashboard stores full prompt and response text. For an observability tool, those details matter because agents often process sensitive input. The README also does not describe how to handle multi-process or async agent runs, which are common in production. The self-hosting section is a single line pointing to app/README.md, so you cannot judge from this material whether the backend requires a database, a queue, or a specific container runtime. If you need to run AgentOps behind a corporate firewall, the only honest answer is that the repository contains the app code, but the setup guide is not in the main README.

Alternatives and the Difference in Approach

The closest alternative is Langfuse, which also provides LLM tracing and cost tracking but takes a different architectural route. Langfuse is a self-hostable observability platform with its own Python SDK, and it supports OpenTelemetry as a native export path. AgentOps appears to use a proprietary event format sent to its own dashboard, with self-hosting available but not the default. The difference matters if you already use OpenTelemetry for other services: Langfuse can integrate into that existing pipeline, while AgentOps would be a separate sink. Another alternative is to build your own logging layer around each LLM provider's usage fields, which gives you full control but requires you to write the session correlation logic that AgentOps provides out of the box. For teams that want a quick start and do not need OpenTelemetry, AgentOps is simpler. For teams with an existing observability stack, the vendor-specific ingestion model may be a reason to look elsewhere.

Maintenance, Licensing, and What to Verify First

The project is MIT licensed, which means you can fork it, modify the SDK or the app, and use it in commercial products without paying a license fee. The last push to the default branch was June 2026, and the releases listed are from August 2025, so there is a gap between the most recent release and the latest commit activity. That could mean the repository has unreleased changes, or that the release process lags behind development. Before adopting, check the changelog between 0.4.21 and the current main branch to see if any breaking changes are pending. The README does not mention a migration guide for upgrading between minor versions. The app directory is part of the same repository, so you can inspect the backend code yourself, but you should verify that the self-hosted version supports the same features as the hosted dashboard, because the README only says 'you're covered' without listing feature parity.

Editorial conclusion

Adopt AgentOps if you build agents with CrewAI, Agno, OpenAI Agents SDK, LangChain, AutoGen, AG2, or CamelAI and need a single dashboard for session replays, cost totals, and step-by-step execution graphs. Skip it if you cannot send session data to a third-party dashboard and are not ready to operate the self-hosted app, because the README gives no resource or scaling guidance. Before committing, verify the exact integration steps for your framework in the documentation, confirm the data retention policy of the hosted dashboard, and test the SDK in a staging environment while watching for any overhead on long agent runs.

Official sources

  1. AgentOps-AI/agentops on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes