Tracing in Instana
Components in your environment could range from a few monolithic applications to thousands of microservices, with each component connected by application code that is continuously adapting to technical and business changes. Tracing helps you to understand the interaction between these components and the messages passed between them. Using our Dynamic Graph, Instana enhances each trace to provide you with data relating to each service, application, and the system architecture.
For more information about tracing, see Tracing concepts.
Overview
Tracing in Instana starts when the Instana host agent detects supported technologies and enables the required sensors and tracers. These tracers instrument application code, collect request-level data, and send it through the host agent to the Instana backend for processing and analysis. Instana then displays the resulting traces in the UI.
Tracers
Tracers are Instana components that instrument supported technologies and report trace data. The following table lists the technologies that support tracing.
| Tracers | |
|---|---|
| Java | Node.js |
| Python | CLR (.NET Framework) |
| Ruby | .NET Core |
| Go | IBM ACE |
| PHP | IBM MQ |
| NGINX | HTTPd |
Instana provides several tracing features across its different tracers. To understand which features are available for your technology stack, see Tracer features comparison matrix, which provides a detailed comparison of capabilities across all Instana tracers.
Instrumentation
Instrumentation is the process of adding tracing code into the application code to collect request-level data. Instana provides the following instrumentation methods:
Automatic instrumentation
Instana AutoTrace™ is a distributed tracing and service discovery technology powering Instana’s fully automatic, no-effort, and instant observability experience.
AutoTrace™ is supported automatically for the following technologies:
With minimum configuration, automatic instrumentation can be enabled for the following technologies:
For Kubernetes and Red Hat OpenShift environments, the Instana AutoTrace webhook automatically configures Instana tracing across an entire cluster for the following technologies:
Manual instrumentation
Instana SDKs
For the languages listed as follows, we provide tracing SDKs that allow you to add tracing data to those automatically collected by Instana. Additionally, the Trace Web SDK, which can be utilized over plain HTTP by any language and other systems:
The following SDKs are used over configuration of the Instana host agent:
OpenTelemetry
Instana provides support for ingesting OpenTelemetry data via the Instana host agent.
For more information on OpenTelemetry, see relevant documentation.
OpenTracing
OpenCensus
OpenCensus is tracing and metrics API and implementation is available in several languages. Vendor-specific "exporters" allow you to use OpenCensus with formats different than the default one. We provide exporters compatible with Instana AutoTrace™ for the following languages: