OpenTelemetry

Note: The OpenTelemetry support in Instana is in technical preview, and we are hard at work to make OpenTelemetry a first-class citizen with full interoperability with Instana's own AutoTrace technology!

Using our host agent processes as proxy, OpenTelemetry implementations can send tracing data to the Instana agent, which are then sent to the Instana backend for processing.

Activating OpenTelemetry support

In the Technical Preview phase, OpenTelemetry ingestion in the host agent is deactivated by default. To enable the reception of OpenTelemetry data in the host agent, add the following snippet to your host agent's configuration.yaml:

com.instana.plugin.opentelemetry:
  enabled: true

After activating the configuration above, the host agent will activate on port 55680 (the default gRPC port) an ingestor for OpenTelemetry's default otlp exporter.

Current Scope

  • Correlate OpenTelemetry traces that use the default W3C Trace Context exporter over HTTP communication from Instana-monitored applications to OpenTelemetry monitored ones.
  • Some support for the trace data semantics conventions.

Known Limitations

  • No trace continuity over HTTP when the client is instrumented with OpenTelemetry and the server with Instana.
  • No trace continuity with protocols other than HTTP; there is currently no common specification in the industry for propagating trace contexts with protocols other than HTTP, that is, there is no non-HTTP equivalent to W3C Trace Context.
  • OpenTelemetry links are not supported.
  • Collection of OpenTelemetry metrics is not supported; the host agent will show some benign exceptions if it receives OpenTelemetry metrics data.
  • Collection of OpenTelemetry logs is not supported; the host agent will show some benign exceptions if it receives OpenTelemetry logs data.
  • Mixing the default context propagator with exporters other than otlp is not supported.

Using OpenTelemetry with other trace protocols

OpenTelemetry supports exporters others than its native otlp, like Zipkin and Jaeger, as well as matching context-propagators. When using Jaeger or Zipkin exporters, the host agent will be able to ingest the data and process them the same as with other Zipkin and Jaeger implementations; refer to the Zipkin documentation and Jaeger documentation, respectively.