Purchase this theme on shadcnblocks.com
Pipelines

OTLP pipelines.

Sample, redact, and derive metrics from your OTLP stream before it ever lands in storage.

What a pipeline is

A pipeline is an ordered list of transforms applied to OTLP records as they arrive at the ingest edge. Pipelines run before storage, which means anything you drop or rewrite at this layer never touches your bill, your retention floor, or your downstream queries.

  1. 01
    /03
    Define the pipeline

    Pipelines live in pipelines/<name>.toml inside your workspace configuration repo. Each file is a single pipeline; ordering inside the file is the execution order at the edge.

    Config
    match  = "service.name = 'api' AND env = 'prod'"
    sample = { rate = 0.1, keep_errors = true }
    redact = ["http.request.body", "user.email"]
  2. 02
    /03
    Apply it

    Push the file via the CLI. The control plane validates the syntax, estimates the budget impact, and rolls the pipeline out to the edge in under a minute.

    Shell
    meridian pipeline apply pipelines/api-prod.toml
  3. 03
    /03
    Verify

    The CLI returns the new pipeline ID and the estimated change in record volume. Spot-check the math against the live ingest dashboard before you forget about it.

    Shell
    meridian pipeline status api-prod
    # api-prod  ·  active  ·  -88.2% volume  ·  edge.us-east, edge.eu-west

Transform reference

Probabilistic, with an keep_errors escape hatch so failed traces aren't diluted by the rate.

Config
sample = { rate = 0.05, keep_errors = true }

| Field | Type | Default | Notes | | ------------- | ------- | ------- | -------------------------------------------- | | rate | float | 1.0 | 0.0–1.0; applied per-trace, not per-span. | | keep_errors | boolean | true | Always keep traces containing an error span. | | seed | string | host | Hash key for reproducible decisions. |

Pipeline file layout

A typical workspace keeps one pipeline per service-environment pair, with shared rules pulled into a _lib/ folder.

File tree
  • meridian-config/
    • pipelines/
      • ·api-prod.toml
      • ·api-staging.toml
      • ·checkout-prod.toml
      • _lib/
        • ·redact-pii.toml
        • ·sample-defaults.toml
    • ·workspace.toml

When pipelines aren't enough

Cost tip. Most teams over-collect debug logs by 50–100×. A single match = "level = 'debug'" → sample { rate = 0.01 } rule typically pays for the workspace inside the first week.

Pipelines ready