Benefits
- Language and source agnostic — Actions run in the OpenTelemetry pipeline and can transform, filter, or enrich OpenTelemetry signals regardless of the instrumented process or language.
- Lower impact on workloads — Processing happens in the agent instead of inside your services, so CPU and memory stay on the agent.
- Control cost and volume — You can reduce or shape the data sent to backends (e.g., sampling, dropping attributes, aggregating spans into metrics) to limit export volume and cost.
- Reusable building blocks — The VM Agent supports the OpenTelemetry Collector processors defined in the Odigos collector builder config; you can combine and configure those processors to match your needs.
Action types
The VM Agent supports three kinds of actions. Each type has a dedicated page with configuration steps for odictl and YAML:Processor addition
Add an OpenTelemetry Collector processor to transform, filter, or enrich signals (e.g., add or delete attributes, batch, sample, mask PII). Processors defined in the Odigos collector builder config are supported; for each processor’s configuration options, see the OpenTelemetry Collector Contrib documentation. See Processor addition for configuration steps.Span metrics
Convert tracing spans into aggregated metrics (e.g., request counts, latency histograms) to reduce volume and simplify dashboards and alerts. See Span metrics for configuration steps.URL templatization
Replace variable parts of URLs with parameter placeholders (e.g.,/users/123 → /users/{id}) before recording in signals to control cardinality and group traffic by endpoint pattern. See URL templatization for configuration steps.