otelbin icon indicating copy to clipboard operation
otelbin copied to clipboard

Ability to test collector data processing

Open swar8080 opened this issue 1 year ago • 1 comments

Hello, this is a big feature request but I think it would make otelbin really useful! I'd be interested in helping with any implementation

Problem overview

At a high level, i'm suggesting an easier way to submit OTLP test data to a collector with custom configuration and then view its output.

I currently run an OTEL collector locally to test configuration works at runtime, like testing that OTTL statements filter/mutate correctly. Would be great if otelbin let us test collector processing from the browser for components that do all their processing in-memory.

I've used a lot of tools for this which I imagine creates friction for people newly exploring OTEL:

  • Custom scripts using OTEL SDKs to export telemetry to the collector. This is also useful for exploring the OTLP data format, like learning that span status code is 2 for errored spans
  • opentelemetry-ci for quickly sending the collector spans (but has no metric/log support)
  • Docker to run the collector when I don't need to debug source code
  • Docker to run an observability backend like grafana to verify the collector's output
  • ocb for when i've needed to debug collector source code, which is fiddly to set-up

Possible use cases

  • Test OTTL syntax for filterprocessor and transformprocessor which is powerful but has a lot of pitfalls
  • Test tailsamplingprocessor policies which can also have complex configurations
  • Regression testing of components between collector versions since otelbin already has lambdas for each version
  • Test connectors/processors that aggregate or transform data, like spanmetricsconnector
  • Provide some useful test fixtures to explore OTLP data format, probably in http/json encoding for readability

swar8080 avatar Jul 07 '24 18:07 swar8080

@swar8080: Thank you for these great suggestions. I fully support these extensions!

For transparency: We are currently really busy getting Dash0 ready for launch, so we will likely not get to these soon.

bripkens avatar Jul 09 '24 15:07 bripkens