Actions are a way to modify the OpenTelemetry data recorded by Odigos Sources, before it is exported to your Odigos Destinations.

What are Processors?

Under the hood, Odigos uses the OpenTelemetry Collector Processors to implement actions.

Processors are a class of OpenTelemetry Collector component. They are used to transform, filter, or enrich your OpenTelemetry data before it is sent to your destinations.

Few examples of processors are:

  • Add a resource attribute to all spans, metrics and logs, describing the environment in which the data was collected.
  • Sample a percentage of spans to reduce the volume of data sent to your backend and your costs.
  • Filter out PII data from your signals which you don’t want to send to your backend.

and many more…

Benefits

  • Odigos Actions are language agnostic. They run in the OpenTelemetry collectors and can act on any data type (traces, metrics, logs) no matter the source or the programming language of your service.
  • Processing the data on the k8s node or the cluster level reduces the load on your services and allows you to apply the same processing rules to all your services and signals.
  • Applying actions in your cluster can reduce the volume of data sent to your backend, which can reduce your costs.
  • OpenTelemetry maintains a large collection of processors, which are ready to use and can be configured to your needs.

Actions are a powerful tool to help you manage your observability data and ensure that you are sending the right data to your backend.

Adding Actions

Odigos comes with a set of common actions that you can use out of the box:

Odigos also supports adding OpenTelemetry processors with kuberenetes CRDs which you can apply manually or through a GitOps workflow.