# Integrations

> Libraries, services, and apps with first-party support for OpenTelemetry.

---

LLMS index: [llms.txt](/llms.txt)

---

The mission of OpenTelemetry is
[to enable effective observability by making high-quality, portable telemetry ubiquitous](/community/mission/).
In other words, observability should be built in into the software you develop.

While external instrumentation through
[zero code instrumentation solutions](/docs/concepts/instrumentation/zero-code)
and
[instrumentation libraries](/docs/specs/otel/overview/#instrumentation-libraries)
provide a convenient way to make your application observable, we believe that
ultimately all applications should either integrate the OpenTelemetry APIs and
SDKs directly for native telemetry, or provide a first-party plugin that fits
into the ecosystem of the given software.

This page contains a sample of libraries, services, and apps providing native
instrumentation or first class plugins.

## Libraries

Native library instrumentation with OpenTelemetry provides better observability
and developer experience for users, removing the need for libraries to expose
and document hooks. Below you will find a list of libraries that use the
OpenTelemetry API to provide out of the box observability.

<!-- cSpell:ignore: cond isset -->
Name[^1]     | OSS | Component |  Learn more
------------ | --- | ---------- |  ----------
[Azure SDK Instrumentation](https://github.com/Azure/azure-sdk-for-net) |Yes |.NET| [learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-enable](https://learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-enable)
[Dalli](https://github.com/petergoldstein/dalli) |Yes |Ruby| [github.com/petergoldstein/dalli/blob/main/README.md](https://github.com/petergoldstein/dalli/blob/main/README.md)
[Elasticsearch Java API Client](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html) |Yes |Java| [www.elastic.co/docs/reference/elasticsearch/clients/java/setup/opentelemetry](https://www.elastic.co/docs/reference/elasticsearch/clients/java/setup/opentelemetry)
[Elasticsearch Python Client](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html) |Yes |Python| [www.elastic.co/guide/en/elasticsearch/client/python-api/current/opentelemetry.html](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/opentelemetry.html)
[Elasticsearch Ruby Client](https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/index.html) |Yes |Ruby| [www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/opentelemetry.html](https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/opentelemetry.html)
[FusionCache .NET caching library](https://github.com/ZiggyCreatures/FusionCache) |Yes |.NET| [github.com/ZiggyCreatures/FusionCache/blob/main/docs/OpenTelemetry.md](https://github.com/ZiggyCreatures/FusionCache/blob/main/docs/OpenTelemetry.md)
[Instrumentation for Next.js](https://nextjs.org/) |Yes |JavaScript| [nextjs.org/docs/app/building-your-application/optimizing/open-telemetry](https://nextjs.org/docs/app/building-your-application/optimizing/open-telemetry)
[Instrumentation for SvelteKit](https://svelte.dev/) |Yes |JavaScript| [svelte.dev/docs/kit/observability](https://svelte.dev/docs/kit/observability)
[MassTransit .NET client](https://github.com/Azure/azure-sdk-for-net) |Yes |.NET| [masstransit.io/documentation/configuration/observability](https://masstransit.io/documentation/configuration/observability)
[nservicebus OpenTelemetry Integration](https://particular.net/) |Yes |.NET| [docs.particular.net/nservicebus/operations/opentelemetry](https://docs.particular.net/nservicebus/operations/opentelemetry)
[Quarkus](https://quarkus.io/) |Yes |Java| [quarkus.io/guides/opentelemetry](https://quarkus.io/guides/opentelemetry)
[ThrottlingTroll](https://github.com/ThrottlingTroll) |Yes |.NET| [github.com/ThrottlingTroll/ThrottlingTroll/wiki#telemetry](https://github.com/ThrottlingTroll/ThrottlingTroll/wiki#telemetry)

[^1]: Listed alphabetically


## Applications and Services

The following list contains a sample of libraries, services, and apps that have
either integrated OpenTelemetry APIs and SDKs directly for native telemetry or
provide a first-party plugin that fits into their own extensibility ecosystem.

Open source projects (OSS) are at the beginning of the list, and commercial
projects follow. Projects which are part of the [CNCF](https://www.cncf.io/)
have a CNCF logo beside their name.

<!-- cSpell:ignore: cond isset -->
Name[^1]     | OSS | Component |  Learn more
------------ | --- | ---------- |  ----------
[Argo Workflows](https://argoproj.github.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [argo-workflows.readthedocs.io/en/latest/metrics/](https://argo-workflows.readthedocs.io/en/latest/metrics/)
[Backstage](https://backstage.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |JavaScript| [backstage.io/docs/tutorials/setup-opentelemetry](https://backstage.io/docs/tutorials/setup-opentelemetry)
[BuildKit](https://mobyproject.org/) |Yes |Go| [docs.docker.com/build/building/opentelemetry/](https://docs.docker.com/build/building/opentelemetry/)
[buildx](https://www.docker.com/) |Yes |Go| [docs.docker.com/build/building/opentelemetry/](https://docs.docker.com/build/building/opentelemetry/)
[Claude Code](https://code.claude.com/docs) |Yes |JavaScript| [code.claude.com/docs/en/monitoring-usage](https://code.claude.com/docs/en/monitoring-usage)
[Cloud Foundry](https://www.cloudfoundry.org/) |Yes |Collector| [github.com/cloudfoundry/cf-deployment/blob/main/operations/experimental/add-otel-collector.yml](https://github.com/cloudfoundry/cf-deployment/blob/main/operations/experimental/add-otel-collector.yml)
[containerd](https://containerd.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [github.com/containerd/containerd/blob/main/docs/tracing.md](https://github.com/containerd/containerd/blob/main/docs/tracing.md)
[Contour](https://projectcontour.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [projectcontour.io/docs/main/config/tracing/](https://projectcontour.io/docs/main/config/tracing/)
[Cortex](https://cortexmetrics.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [cortexmetrics.io/docs/guides/tracing/#opentelemetry](https://cortexmetrics.io/docs/guides/tracing/#opentelemetry)
[CRI-O](https://cri-o.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [github.com/cri-o/cri-o/blob/main/docs/crio.conf.5.md#criotracing-table](https://github.com/cri-o/cri-o/blob/main/docs/crio.conf.5.md#criotracing-table)
[CsvPath Framework](https://www.csvpath.org) |Yes |Python| [www.csvpath.org/getting-started/dataops-integrations/getting-started-with-csvpath-+-opentelemetry](https://www.csvpath.org/getting-started/dataops-integrations/getting-started-with-csvpath-+-opentelemetry)
[Dapr](https://dapr.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [docs.dapr.io/operations/observability/tracing/otel-collector/open-telemetry-collector/](https://docs.dapr.io/operations/observability/tracing/otel-collector/open-telemetry-collector/)
[Deno](https://deno.com) |Yes |JavaScript| [docs.deno.com/runtime/fundamentals/open_telemetry/](https://docs.deno.com/runtime/fundamentals/open_telemetry/)
[Distributed tracing of Checkmk with OpenTelemetry](https://checkmk.com) |Yes |Python| [checkmk.com/werk/16565](https://checkmk.com/werk/16565)
[Emissary Ingress](https://emissary-ingress.dev/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [emissary-ingress.dev/docs/3.10/howtos/dist-tracing/](https://emissary-ingress.dev/docs/3.10/howtos/dist-tracing/)
[Envoy Proxy](https://www.envoyproxy.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |C++| [www.envoyproxy.io/docs/envoy/latest/start/sandboxes/opentelemetry](https://www.envoyproxy.io/docs/envoy/latest/start/sandboxes/opentelemetry)
[Flipt](https://flipt.io/) |Yes |Go| [www.flipt.io/docs/configuration/observability#tracing](https://www.flipt.io/docs/configuration/observability#tracing)
[Fluent CI Engine](https://github.com/fluentci-io/fluentci-engine) |Yes |Rust| [github.com/fluentci-io/fluentci-engine#-opentelemetry-tracing](https://github.com/fluentci-io/fluentci-engine#-opentelemetry-tracing)
[Google Gemini CLI](https://geminicli.com/) |Yes |JavaScript| [geminicli.com/docs/cli/telemetry/#observability-with-opentelemetry](https://geminicli.com/docs/cli/telemetry/#observability-with-opentelemetry)
[Harbor](https://goharbor.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [goharbor.io/docs/edge/administration/distributed-tracing/](https://goharbor.io/docs/edge/administration/distributed-tracing/)
[Istio](https://istio.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [istio.io/latest/docs/tasks/observability/distributed-tracing/opentelemetry/](https://istio.io/latest/docs/tasks/observability/distributed-tracing/opentelemetry/)
[Jaeger](https://www.jaegertracing.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [www.jaegertracing.io/docs/monitoring/#traces](https://www.jaegertracing.io/docs/monitoring/#traces)
[KEDA](https://keda.sh/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [keda.sh/docs/latest/integrations/opentelemetry/](https://keda.sh/docs/latest/integrations/opentelemetry/)
[Keycloak](https://www.keycloak.org)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Java| [www.keycloak.org/observability/telemetry](https://www.keycloak.org/observability/telemetry)
[kgateway](https://kgateway.dev/)<img alt="CNCF Sandbox Project" title="CNCF Sandbox Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [kgateway.dev/docs/envoy/latest/observability/otel-stack/](https://kgateway.dev/docs/envoy/latest/observability/otel-stack/)
[Knative](https://knative.dev/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [knative.dev/docs/eventing/observability/metrics/collecting-metrics/](https://knative.dev/docs/eventing/observability/metrics/collecting-metrics/)
[Kong API Gateway](https://www.konghq.com/) |Yes |<no value>| [docs.konghq.com/hub/kong-inc/opentelemetry/](https://docs.konghq.com/hub/kong-inc/opentelemetry/)
[Kubewarden](https://kubewarden.io/)<img alt="CNCF Sandbox Project" title="CNCF Sandbox Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Rust| [docs.kubewarden.io/howtos/telemetry/opentelemetry-qs](https://docs.kubewarden.io/howtos/telemetry/opentelemetry-qs)
[Kuma](https://kuma.io/)<img alt="CNCF Sandbox Project" title="CNCF Sandbox Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [kuma.io/docs/2.7.x/guides/otel-metrics/](https://kuma.io/docs/2.7.x/guides/otel-metrics/)
[Kyverno](https://kyverno.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [kyverno.io/docs/monitoring/opentelemetry/](https://kyverno.io/docs/monitoring/opentelemetry/)
[Microcks](https://microcks.io/)<img alt="CNCF Sandbox Project" title="CNCF Sandbox Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Java| [microcks.io/documentation/explanations/monitoring/](https://microcks.io/documentation/explanations/monitoring/)
[MLflow](https://mlflow.org/) |Yes |Python| [mlflow.org/docs/latest/llms/tracing/index.html](https://mlflow.org/docs/latest/llms/tracing/index.html)
[Open Policy Agent](https://www.openpolicyagent.org/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [www.openpolicyagent.org/docs/latest/monitoring/#opentelemetry](https://www.openpolicyagent.org/docs/latest/monitoring/#opentelemetry)
[OpenFeature flagd](https://openfeature.dev/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [flagd.dev/reference/monitoring/#opentelemetry](https://flagd.dev/reference/monitoring/#opentelemetry)
[OpenFGA](https://openfga.dev/)<img alt="CNCF Sandbox Project" title="CNCF Sandbox Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [openfga.dev/docs/getting-started/setup-openfga/configure-openfga#telemetry](https://openfga.dev/docs/getting-started/setup-openfga/configure-openfga#telemetry)
[Otterize network mapper](https://github.com/otterize/network-mapper) |Yes |Go| [docs.otterize.com/reference/configuration/network-mapper/helm-chart#opentelemetry-exporter-parameters](https://docs.otterize.com/reference/configuration/network-mapper/helm-chart#opentelemetry-exporter-parameters)
[Payara Platform](https://www.payara.fish/) |Yes |Java| [docs.payara.fish/community/docs/Technical%20Documentation/MicroProfile/OpenTelemetry%20and%20OpenTracing.html](https://docs.payara.fish/community/docs/Technical%20Documentation/MicroProfile/OpenTelemetry%20and%20OpenTracing.html)
[RoadRunner PHP application server](https://roadrunner.dev/) |Yes |Go| [docs.roadrunner.dev/docs/logging-and-observability/otel](https://docs.roadrunner.dev/docs/logging-and-observability/otel)
[rustup](https://rustup.rs/) |Yes |Rust| [rust-lang.github.io/rustup/dev-guide/tracing.html](https://rust-lang.github.io/rustup/dev-guide/tracing.html)
[Strimzi](https://strimzi.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Java| [strimzi.io/docs/operators/latest/deploying#assembly-distributed-tracing-str](https://strimzi.io/docs/operators/latest/deploying#assembly-distributed-tracing-str)
[Thanos](https://thanos.io/)<img alt="CNCF Incubating Project" title="CNCF Incubating Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [thanos.io/tip/thanos/tracing.md/#opentelemetry-otlp](https://thanos.io/tip/thanos/tracing.md/#opentelemetry-otlp)
[Traces For Kubernetes System Components](https://kubernetes.io/)<img alt="CNCF Graduated Project" title="CNCF Graduated Project" style="display: inline-block; padding-left: 8px; border: none; width: 16; height: 16px;" src="/img/cncf-icon-color.svg"> |Yes |Go| [kubernetes.io/docs/concepts/cluster-administration/system-traces/](https://kubernetes.io/docs/concepts/cluster-administration/system-traces/)
[Tracing ClickHouse with OpenTelemetry](https://clickhouse.com) |Yes |C++| [clickhouse.com/docs/en/operations/opentelemetry](https://clickhouse.com/docs/en/operations/opentelemetry)
[Traefik Proxy](https://traefik.io/traefik/) |Yes |Go| [doc.traefik.io/traefik/observability/tracing/opentelemetry/](https://doc.traefik.io/traefik/observability/tracing/opentelemetry/)
[Tyk API Gateway](https://tyk.io) |Yes |Go| [tyk.io/docs/product-stack/tyk-gateway/advanced-configurations/distributed-tracing/open-telemetry/open-telemetry-overview/](https://tyk.io/docs/product-stack/tyk-gateway/advanced-configurations/distributed-tracing/open-telemetry/open-telemetry-overview/)
[APIContext](https://apicontext.com/) |No |Python| [docs.apimetrics.io/docs/export-with-opentelemetry](https://docs.apimetrics.io/docs/export-with-opentelemetry)
[Cisco Network Services Orchestrator (NSO)](https://www.cisco.com/c/en/us/products/cloud-systems-management/network-services-orchestrator/index.html) |No |Python| [developer.cisco.com/docs/nso/observability-exporter/](https://developer.cisco.com/docs/nso/observability-exporter/)
[Heroku](https://www.heroku.com/) |No |Collector| [devcenter.heroku.com/articles/opentelemetry-concepts-and-heroku](https://devcenter.heroku.com/articles/opentelemetry-concepts-and-heroku)
[Kong Mesh](https://konghq.com/products/kong-mesh) |No |Go| [docs.konghq.com/mesh/latest/guides/otel-metrics/](https://docs.konghq.com/mesh/latest/guides/otel-metrics/)
[MATLAB Interface to OpenTelemetry](https://www.mathworks.com/products/matlab.html) |No |C++| [www.mathworks.com/matlabcentral/fileexchange/130979-opentelemetry-matlab](https://www.mathworks.com/matlabcentral/fileexchange/130979-opentelemetry-matlab)
[MySQL Enterprise Server](https://www.mysql.com/) |No |C++| [dev.mysql.com/doc/refman/9.2/en/telemetry-trace.html](https://dev.mysql.com/doc/refman/9.2/en/telemetry-trace.html)
[ThousandEyes for OpenTelemetry](https://www.thousandeyes.com/) |No |Collector| [docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/)
[Traefik Hub API Management](https://traefik.io/traefik-hub/) |No |Go| [doc.traefik.io/traefik-hub/operations/metrics](https://doc.traefik.io/traefik-hub/operations/metrics)

[^1]: Listed alphabetically


## Adding your integration {#how-to-add}

To have your library, service, or app listed, [submit a PR][] with an entry
added to the [registry](/ecosystem/registry/adding). The entry should include
the following:

- Link to the main page of your library, service, or app
- Link to the documentation that explains how enable observability using
  OpenTelemetry

> [!NOTE]
>
> If you provide external integration of OpenTelemetry for any kind of library,
> service, or app, then
> [consider adding it to the registry](/ecosystem/registry/adding).
>
> If you adopt OpenTelemetry for Observability as an end user and do not provide
> any kind of services around OpenTelemetry, see
> [Adopters](/ecosystem/adopters).
>
> If you provide a solution that consumes OpenTelemetry to offer observability
> to end users, see [Vendors](/ecosystem/vendors).

[submit a PR]: /docs/contributing/pull-requests/


## Keeping integration information current {#keeping-up-to-date}

Ensure that you keep your integration information up-to-date, otherwise we might
update or remove it from the registry or [ecosystem list][]. For details, see
[Keeping registry information current](../registry/updating/).

[ecosystem list]:
  https://github.com/open-telemetry/opentelemetry.io/tree/main/data/ecosystem
{{__hugo_ctx/}}
