This feature is in beta. It may be subject to changes and improvements based on user feedback.

Introduction

Odigos supports Datastreams, a powerful feature that allows you to split telemetry sources into multiple logical streams. Each stream can be independently routed to different destinations and have specific actions applied—such as sampling, attribute enrichment, masking rules, and more.

Motivation

There are many use cases for adopting Datastreams, including:

  1. Cost optimization - Route lower-priority services (like internal or backoffice apps) to more cost-effective destinations, such as Parquet files stored in S3.

  2. Targeted processing - Apply custom processing (e.g., sampling, enrichment) to only a subset of services.

  3. Gradual migration - Test a new destination on specific services before committing to a full migration.

  4. Organizational segmentation - Split data based on development teams, product areas, or environments.

Creating Datastreams

After installing Odigos CLI, run the following command to start the Odigos UI:

odigos ui

In a new Odigos install

You’ll be taken to the Setup page. This is where your journey with Odigos begins, and you’ll be asked to provide a few initial details:

  1. Provide a name for the Datastream
  2. Select the telemetry Sources to include
  3. Choose the destination(s) to send the data to
  4. Click Done

In an existing Odigos install

You can create a new Datastream from the Overview page. Click the + NEW button at the top-left (under the current Datastream views) and follow the same steps as in the setup phase.

Caveats and Considerations

  1. Trace integrity - Distributed traces often span multiple services that participate in the same operation. If you assign these services to different datastreams, the trace will be broken across destinations. Each destination will only receive part of the trace, making it incomplete and harder to troubleshoot. To preserve trace integrity, keep all services involved in a single transaction within the same datastream.

  2. Action support - At present, actions defined in Odigos are applied globally to all streams. Stream-specific actions (e.g., custom sampling rules per datastream) are not yet supported but will be in a future release.