Docs » µAPM Instrumentation Guide

µAPM Instrumentation Guide

The SignalFx µAPM distributed tracing solution is designed to be instrumentation agnostic, OpenTracing-compatible, and supports a variety of popular open instrumentation libraries including Jaeger, Zipkin and OpenCensus. Trace propagation across services is supported via the B3 community standard, enabling inter-operability of services written in different programming languages or using different instrumentation libraries.

As long as the tracer sending spans to SignalFx (via the Smart Agent and/or the Smart Gateway) uses the Zipkin’s JSON wire formats, or Jaeger’s Thrift wire format, SignalFx will accept spans irrespective of how they were instrumented. You can use one of the open libraries mentioned above, or a homegrown implementation.

SignalFx provides automatic instrumentation for a wide variety of programming languages, with support for many application frameworks, web frameworks and common open-source third party libraries. To get started instrumenting your applications, see Instrumentation Overview.


You should not attempt to use automatic instrumentation or instrumentation agents from multiple vendors at the same time. This will lead to unpredictable results, broken instrumentation, and in some cases might crash your application. To guarantee the stability of your applications and the best instrumentation experience, only use one vendor instrumentation or agent at a time.