Docs » Get started with SignalFx µAPM » Compatible span formats for SignalFx µAPM

Compatible span formats for SignalFx µAPM 🔗

Important

The original µAPM product, released in 2019, is now called µAPM Previous Generation (µAPM PG). In the documentation, µAPM now refers to the product released on March 31, 2020.

If you are using µAPM Previous Generation (µAPM PG), see APM PG supported span formats.

SignalFx supports a variety of span formats, depending on which agent, collector, or endpoint receives and exports trace data. For more information about µAPM deployment architectures, see SignalFx µAPM architecture overview.

Use a SignalFx tracing library to automatically instrument an application. For more information about span formats for applications you automatically instrument, see SignalFx µAPM tracing library span formats.

If you’re running a language or library that isn’t explicitly supported with automatic instrumentation, you can manually instrument it with a compatible tracer. To manually export traces from an application to SignalFx, use a compatible span format. For more information about manually instrumenting an application, see the OpenTracing API on GitHub.

Smart Agent compatible span formats 🔗

The Smart Agent can receive these span formats with the signalfx-forwarder monitor:

  • Jaeger (gRPC and thrift)
  • Zipkin v1, v2 (JSON)

The Smart Agent can export these span formats with the writer:

  • SAPM
  • Zipkin v1, v2 (JSON)

To configure the Smart Agent for µAPM, see Deploy a SignalFx Smart Agent for µAPM.

OpenTelemetry Collector compatible span formats 🔗

The OpenTelemetry Collector receiver and exporter are compatible with multiple span formats. The OpenTelemetry Collector has a core version and a community version. When you deploy an OpenTelemetry Collector for µAPM, you use some components from the core version and some components from the community version.

To receive data for µAPM, the OpenTelemetry Collector is compatible with these span formats:

To export data for µAPM, the OpenTelemetry Collector is compatible with these span formats:

To configure an OpenTelemetry Collector for µAPM, see Deploy an OpenTelemetry Collector for SignalFx µAPM.

SignalFx ingest endpoint compatible span formats 🔗

The SignalFx ingest endpoint at https://ingest.REALM.signalfx.com/v2/trace is compatible with these span formats:

  • SAPM with Content-Type:application/x-protobuf
  • Jaeger thrift with Content-Type:application/x-thrift
  • Zipkin v1, v2 (JSON) with Content-Type:application/json

In addition, the following endpoints are available:

  • Jaeger thrift at /v2/trace/jaegerthrift with Content-Type:application/x-thrift
  • OTLP at /v2/trace/otlp with Content-Type:application/x-protobuf
  • SAPM at /v2/trace/sapm with Content-Type:application/x-protobuf
  • Zipkin v1, v2 (JSON) at /v2/trace/signalfxv1 with Content-Type:application/json

SignalFx µAPM tracing library span formats 🔗

When you use a SignalFx tracing library to automatically instrument an application, the library creates and configures an OpenTracing-compatible tracer to collect and export traces to SignalFx.

These are the span formats each tracing library automatically exports trace data in:

Language Span format
Java Zipkin
Python Jaeger
Node.js Zipkin
Go Zipkin
.NET Zipkin
Ruby Jaeger
PHP Zipkin

For more information about instrumenting applications for SignalFx µAPM, see Instrumentation overview for SignalFx µAPM.