Skip to content

Component donation: Pebble Tail Storage Extension #47916

@carsonip

Description

@carsonip

Building and distributing outside this repository

  • I understand I can use and distribute my component outside of this repository.

Existing component implementation

https://github.com/carsonip/opentelemetry-collector-contrib/tree/tailsampling-pebble-impl/extension/tailstorage/pebbletailstorageextension

Components covering similar use cases

No response

The purpose and use-cases of the component

To carry out what's proposed in #42326

The Pebble Tail Storage Extension stores pending trace data on local disk for the Tail Sampling processor. This will be the first implementation of tail storage extension other than the tail sampling processor built in in-memory implementation.

This extension is intended to be used with the Tail Sampling processor tail_storage setting and is useful when in-memory pending-trace state would otherwise be too large.

Benefits:

  • lower memory footprint for long duration_wait use cases
  • no data loss of buffered events across restarts (planned, not available in the first prototype)

Example configuration for the component

extensions:
  pebble_tail_storage:
    directory: /var/lib/otelcol/pebble-tail-storage

processors:
  tail_sampling:
    decision_wait: 30s
    num_traces: 50000
    expected_new_traces_per_sec: 1000
    tail_storage: pebble_tail_storage
    policies:
      - name: errors
        type: status_code
        status_code:
          status_codes: [ERROR]

service:
  extensions: [pebble_tail_storage]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [tail_sampling]
      exporters: [debug]

Telemetry data types supported

traces

Code Owners

carsonip, jmacd, axw

Sponsor (optional)

jmacd

Additional context

No response

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions