Comparison

7 best open-source LLMOps and observability platforms in 2026

We compared seven open-source and source-available platforms for prompt management, LLM gateways, tracing, and evaluation. We self-hosted each one and ran the same prompt through it. This page shows how each one handles prompts, tools, teams, audit logs, and licensing.

The short answer

Every platform here is an LLM gateway, an observability tool, or both. A gateway sits in the request path, so it can route, cache, and cap spending before a call reaches the provider. An observability tool records the calls your own client already makes, so you can trace and evaluate them afterwards. AcruxCore, MLflow, and Helicone are both. Langfuse, Phoenix, Opik, and Laminar only observe.

AcruxCore is the only platform in this comparison where you define the tools a model can call, version them, and let the gateway run them. Each tool has its own version history, so you can add, change, or roll back a tool without deploying application code. AcruxCore is also the only platform here whose audit trail needs no paid plan. Hosted or self-hosted, every change anyone makes is recorded with their name. Langfuse has the largest community and an organization layer above projects. MLflow has a prompt registry, tracing, and a gateway, and many teams already run it for classic ML. Opik is built around datasets, experiments, and online scoring rules. Laminar traces agent runs, with SQL over spans and three workspace roles. AcruxCore has the smallest community here, a single team layer with no organization above it, and one role per member.

How to choose

How to choose: seven questions

Do you need an LLM gateway, observability, or both?

An LLM gateway controls requests before they reach a provider. An observability tool records traces so you can inspect what happened. AcruxCore, MLflow’s gateway, and Helicone sit in the request path and act as a proxy. There they can route a call, cache it, check a budget, and hold the provider key. Langfuse, Phoenix, Opik, and Laminar collect traces without sitting in the request path, so they add no proxy.

Can you add and version the tools a model calls without deploying code?

In AcruxCore you define a tool once, keep every version of it, and the gateway runs it when the model calls it. So the tool the model sees and the code that ran are always the same version. You can add a tool, change it, or roll it back without deploying application code. No other platform in this comparison keeps versions of a tool and also runs it. Langfuse saves a tool schema in its playground, but does not version it or run it. Laminar stores tool schemas inside playground entries. Phoenix, Opik, and Helicone have no tool catalog. MLflow catalogs whole MCP servers rather than individual tools. In the MLflow workflow we tested, a single tool had no version history, and nothing ran the call.

Can you update prompts without deploying code?

Every platform here except Laminar has a prompt registry, so you can change a prompt without redeploying code. The registries differ in templating. AcruxCore and MLflow support Jinja2 conditionals and loops, so a prompt can branch on its inputs. Langfuse, Phoenix, Opik, and Helicone substitute variables only, and any branching logic stays in your application code. Laminar’s playground had no prompt versions, aliases, or variables.

What team structure and permissions do you need?

AcruxCore has members, invites, and roles inside a single team, with nothing above it, and one role per member. In the self-hosted versions we tested, Langfuse and Laminar had an organization or workspace layer above projects. Laminar had three workspace roles. Phoenix, Opik, and MLflow had no team, member, or invite management, and MLflow had no login screen. Helicone had one organization tier and no role field in its invite dialog.

Can you see who changed what and when, and does it cost extra?

Yes, in AcruxCore, and it costs nothing extra. Every prompt and every tool keeps its own change history. Owners and admins also see one audit trail for the whole team in the dashboard. That trail records 39 event types across eight areas: prompts, tools, members and invites, API keys, gateway credentials and budgets, secrets, evaluations, and trace settings. You can filter the trail by area, by one event type, or by person. Entries stay in the trail after the person who made them leaves the team, so you can still filter by that person. The trail is on by default, whether hosted or self-hosted, with nothing to pay and nothing to switch on. Of the other six platforms, Langfuse is the only one where we found an audit log, and that log needs the top paid plan even if you self-host. For Phoenix, Opik, Helicone, MLflow and Laminar we found no activity audit option in the platform.

How do you turn feedback into better prompts?

AcruxCore labels end-user feedback and developer notes separately, and both can be added to a dataset of test cases. Experiments run those cases against different prompt versions and models so you can compare the results. Automated rules score live traffic as it arrives. The optimizer uses a large language model to propose rewrites and tests them on the same cases as your production prompt. You can edit the prompt that instructs the optimizer, so the rewrites follow your own rules for a good prompt. Promoting a better rewrite creates a numbered version and moves the alias, so your app picks it up without a deployment. Opik and MLflow also have optimizers, with more algorithms than AcruxCore. Both run from the SDK only and cannot be started from the UI. Langfuse, Phoenix, and Helicone have no optimizer in the product, and Laminar has no stored prompt to optimize.

What does the license include?

Opik, Helicone, MLflow, Laminar, and AcruxCore are Apache 2.0, with no folder under a separate paid license. Langfuse has an MIT-licensed core and one folder under an enterprise license. Its audit log needs the top paid plan even if you self-host. Phoenix uses Elastic License 2.0, which is source-available rather than OSI-approved open source.

The platforms

Seven LLMOps platforms compared

Competitors are listed by community size, with AcruxCore last. The order is not a ranking. Each card shows the date we checked it. The comparison matrix links every claim to the platform’s own documentation.

Langfuse

32,617 GitHub stars · checked 2026-08-06

OpenTelemetry-based tracing and prompt management, with an organization layer above projects.

Best forTeams that need an organization layer above the project, and the largest community here.
LimitationsNot in the request path, so it cannot enforce a budget, serve a cache hit, or issue a virtual key. Variable substitution only, with no conditionals or loops. The audit log needs the $2,499/mo Enterprise plan, even if you self-host. One folder in the repository, ee/, is under a separate enterprise licence.
LicenseMIT, except for the ee/ folder. A separate Enterprise License covers that folder, so the features in it are not MIT. AcruxCore has no such folder.

MLflow

27,416 GitHub stars · checked 2026-08-08

The open-source ML and GenAI platform, with a prompt registry, tracing, evaluation, and its own request-path AI Gateway.

Best forTeams already running MLflow for classic ML. In a tool they already operate, they get a prompt registry, tracing, full Jinja2 templating, and a request-path gateway with PII and safety guardrails on each endpoint.
LimitationsNo auth, teams, members or roles in the self-hosted open-source version, and no login screen. Its MCP Registry catalogs whole servers rather than individual tools. A single tool has no version history, and nothing runs a tool call.
LicenseApache License 2.0, and no part of the repository is under a different license. The same terms as AcruxCore.

Opik

21,169 GitHub stars · checked 2026-08-07

Observability from Comet, built around datasets, experiments, and online scoring rules.

Best forEvaluation work with datasets, experiments and online scoring rules, under the same Apache 2.0 terms as AcruxCore.
LimitationsNo teams, members or invites when self-hosted, because members are a Cloud-tier feature. Nothing in the request path, and no tool catalog. Mustache substitution by default, with playground conditionals still an open feature request.
LicenseApache License 2.0, and no part of the repository is under a different license. The same terms as AcruxCore.

Phoenix

10,923 GitHub stars · checked 2026-08-07

Arize's tracing and evaluation, running on your own machine inside a notebook.

Best forTracing and evaluation on one machine, from a notebook, with nothing to set up and no account to create.
LimitationsElastic License 2.0 is source-available rather than OSI-approved. The local open-source version has no teams or user management. Nothing sits in the request path, and there is no tool catalog.
LicenseElastic License 2.0. Source-available, not OSI-approved, and not permissive.

Helicone

6,044 GitHub stars · checked 2026-08-07

A request-path proxy with per-user metrics. It has been in maintenance mode since Mintlify acquired it.

Best forA small request-path proxy in front of a native provider key, for teams that mainly want per-user metrics.
LimitationsIn maintenance mode since the Mintlify acquisition. A key from a provider Helicone does not support natively failed in our test. OpenRouter either returned a 501 or reached a provider we had not asked for. The member-invite dialog has no role field, and there is no tool catalog.
LicenseApache License 2.0, and no part of the repository is under a different license. The same terms as AcruxCore.
Community notesAcquired by Mintlify. Helicone's own announcement says "services will remain live... in maintenance mode."

Laminar

3,230 GitHub stars · checked 2026-09-06

Observability for agent runs, built in Rust on ClickHouse. Laminar has SQL over spans, LLM-watched Signals, and a CLI made for coding agents.

Best forObservability for agent runs, with SQL over spans, an LLM-watched Signals engine, and PII redaction. It has a workspace layer above projects, and three roles.
LimitationsNo prompt registry, so there is nothing to version or template. Nothing in the request path. The lite self-host stack switches Signals off and does not create the span index. The smallest community of the six competitors.
LicenseApache License 2.0. At the commit we checked, no part of the repository was under a different license. The same terms as AcruxCore.
Community notesY Combinator S24. On the date we checked it had 29 contributors and release v0.2.3. It ships a PII redaction toggle and an LLM-watched Signals engine. AcruxCore has no equivalent of either.

AcruxCore

Public mirror launched 2026-08-03 · checked 2026-08-07

A gateway in the request path, and tools that are defined, versioned, and run in the same place.

Unique in this comparisonTools are defined and versioned in AcruxCore, and the gateway runs them when the model calls them. Every other platform here either has no tool catalog, stores a tool schema that nothing runs, or catalogs whole MCP servers instead of tools.
Best forTeams that want prompts, gateway, tracing, and tools in one self-hosted product. Prompts are versioned, and the gateway sits in the request path. Tools are defined and versioned in AcruxCore, and the gateway runs them. Feedback from users and notes from developers become a dataset of test cases. Standing rules score live traffic against that dataset. The optimizer proposes rewrites, and you promote a rewrite as a normal prompt version. Every change anyone makes is recorded with their name, whether you use the hosted product or self-host it. Langfuse is the only other platform here where we found an audit trail, and it needs a paid plan.
LimitationsOne team with no organization layer, and one role per member. No content or PII guardrails in the request path. A smaller community than any of the six competitors here.
LicenseApache License 2.0, permissive and OSI-approved. No part of the repository is under a different license.

Methodology

How we tested the platforms

We tested the same example prompt across all seven platforms, including AcruxCore, and self-hosted each where supported. The linked reviews include screenshots from these hands-on tests.

A feature marked as absent means we did not find it. We looked in the version we ran and in the sources linked from the comparison matrix. Platforms change, so each finding carries the date we checked it.

AcruxCore’s gateway added about 42 ms per call compared with calling OpenAI directly. The confidence interval is +17 ms to +81 ms. The gateway latency benchmark has the full distribution, the tail latencies, and the scripts to rerun it.

AcruxCore publishes this comparison. Every claim about a competitor links to that competitor’s own documentation, with the date we checked it.

Where to look next

The comparison matrix puts every platform side by side, row by row, with a source for each cell. The hands-on review of nine platforms has the screenshots from each test. The FAQ says which teams AcruxCore fits and which should pick something else.