Ability to test collector data processing
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
2for 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
filterprocessorandtransformprocessorwhich 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/jsonencoding for readability
@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.