Tracelet

Supported components

Which Collector components run, which are replaced, and the special cases verified against v0.164.0.

Tracelet has no allowlist of processors. It runs the real Collector, so any processor or connector in the Collector build runs, with your settings. What matters is where a component sits in the pipeline graph.

Component kindTreatment
Receivers (any type)Replaced by a local OTLP/HTTP receiver. Each receiver is an injection point for its pipelines.
Processors (any type)Run verbatim, in pipeline order
Connectors (any type)Run verbatim. They route between pipelines.
Exporters (any type)Replaced by a capture exporter that keeps the original ID
ExtensionsKept if a processor or connector references them. Otherwise removed.

Signals

SignalSupported
TracesYes
LogsYes
MetricsYes
ProfilesNo. profiles pipelines are rejected.

Exercised by the examples and tests

These components appear in the repository's examples or integration tests and have been run against otelcol-contrib v0.164.0:

KindComponents
Processorsattributes, batch, filter (OTTL), memory_limiter, metrics_transform, redaction, resource, tail_sampling, transform (OTTL, including ParseJSON, merge_maps, delete_matching_keys, SHA256, replace_pattern)
Connectorsrouting, forward
Receivers (as injection points)otlp, prometheus, filelog
Exporters (as capture points)otlp_http, otlp_grpc, kafka, prometheus_remote_write, prometheus, file
Extensionsfile_storage, bearertokenauth, basicauth and health_check (removed, as documented)

Other components should work the same way, but aren't covered by tests in the repository.

Special cases

These were verified against v0.164.0:

ComponentBehavior under Tracelet
batchFlushed at graceful shutdown, so its output is captured for the right test
tail_samplingPending traces are decided at graceful shutdown
intervalFlushed at graceful shutdown
groupbytraceDiscards pending traces at shutdown. Tracelet warns when wait_duration (default 1 s) isn't shorter than the timeout.
span_metrics, service_graphEmit only on their flush timer, never at shutdown. Tracelet warns when metrics_flush_interval is unset or not shorter than the timeout.
k8s_attributesNever becomes ready outside a cluster unless passthrough: true. A startup error with a hint is reported.
resource_detectionCloud detectors (for example ec2) start, but add their timeout to every test's startup
redactionIts allowlist also applies to resource attributes

Collector builds

The default is the pinned otelcol-contrib v0.164.0 release, downloaded and verified automatically. Another build can be used with --collector-bin if it includes:

  • the otlp receiver, which Tracelet uses for injection;
  • the otlp_http exporter, or otlphttp on builds that predate the rename, which Tracelet uses for capture.

The health_check extension is used for readiness checks when the build includes it. On startup, Tracelet runs the binary with --version and components to check this.

Component names: v0.164.0 accepts both old and new spellings (otlphttp and otlp_http, metricstransform and metrics_transform, k8sattributes and k8s_attributes), and Tracelet copies whichever you wrote.

On this page