APM
Zero Code Instrumentation
Auto-instrument your applications without code changes using OpenTelemetry auto-instrumentation agents.
Zero Code Instrumentation allows you to instrument your applications without modifying source code. This approach attaches APM agents to your application runtimes that auto-instrument standard libraries and frameworks.
How It Works
OpenTelemetry auto-instrumentation agents hook into your application's runtime to automatically capture:
- HTTP request/response traces
- Database query spans
- External service calls
- Message queue operations
When to Use
- When you want comprehensive tracing without modifying application code
- When your application uses well-supported frameworks and libraries
- When you can perform application restarts to inject the instrumentation agent
Supported Languages
| Language | Auto-Instrumentation Agent |
|---|---|
| Java | OpenTelemetry Java Agent |
| Python | OpenTelemetry Python Auto-Instrumentation |
| Node.js | OpenTelemetry Node.js Auto-Instrumentation |
| .NET | OpenTelemetry .NET Auto-Instrumentation |
Kubernetes Auto-Instrumentation
In Kubernetes environments, the KloudMate Agent can automatically inject instrumentation agents into your application pods using the OpenTelemetry Operator's Instrumentation CRD. This requires:
- The
kloudmate-crdto be installed in the cluster - The
featuresEnabled.apmflag set totrueduring Helm installation - Annotating target pods or namespaces for instrumentation
Comparison with eBPF
Unlike Zero Downtime Observability (eBPF-based), zero-code instrumentation:
- Requires application restarts to inject the agent
- Provides richer library-specific instrumentation detail
- Is language-dependent (requires a compatible runtime agent)
- Can capture custom attributes from supported frameworks