Glossary · Observability
What Is Auto-Instrumentation?
Amber Jain
May 2026
4 min read
Auto-instrumentation gets you traces and metrics from your app with little or no code change; manual instrumentation fills the gaps.
Auto-instrumentation is the automatic capture of telemetry from common libraries and frameworks without writing tracing code, typically through a language agent or bytecode injection that patches known libraries at runtime.
How it works
Auto-instrumentation hooks into well-known libraries, HTTP servers and clients, database drivers, messaging clients, and emits spans and metrics for them automatically. In Java or .NET this is done by an agent attached at startup; in Node.js and Python by a package loaded before the app; Go, lacking a runtime agent, relies more on explicit wrappers.
Auto versus manual
Auto-instrumentation covers the framework-level surface, requests, queries, downstream calls, for free. Manual instrumentation adds spans and attributes for your own business logic that no library knows about. Most teams use auto-instrumentation as the base and add manual spans where they need domain-specific detail.
How it fits Opstral
Because Opstral is OpenTelemetry-native, whatever your services emit through auto-instrumentation flows straight into Telemetry Ops with no additional agent to install.
Frequently asked questions
Does auto-instrumentation require code changes?
Often none: agents and preloaded packages patch libraries at runtime. You may add small configuration, and manual spans for your own logic.
Which languages support auto-instrumentation?
Most major languages, Java, .NET, Node.js, Python and others, with Go relying more on explicit library wrappers because it has no runtime agent.