Files
zeekay 5c4dad5ad8 debrand: drop signoz — o11y only across collector code
Finish the signoz -> o11y debrand that the debrand branch left partial:
- repoint SigNoz/signoz-otel-collector/{utils,constants,keycheck,metadataexporter,
  processor/*} imports to the local hanzoai/otel-collector/* copies (already folded)
- rename package signozllmpricingprocessor -> o11yllmpricingprocessor (dir+pkg+typeStr)
- rename component type IDs: signozclickhouse{metrics,meter} -> o11yclickhouse*,
  signozlogspipeline -> o11ylogspipeline, signozllmpricing -> o11yllmpricing
- rename files: schema-signoz.go -> schema.go, signoz_attributes.go -> o11y_attributes.go
- vendor SigNoz/grok's mutex-patched fork in-tree as pkg/grok (Apache-2.0, self-contained)
  and drop the segmentio/ksuid->signoz/ksuid + vjeantet/grok->signoz/grok replaces
- restore constants.DistributedFieldKeysTable dropped in the earlier fold
- go.mod/go.sum: SigNoz/signoz-otel-collector require gone; 0 signoz in code

Full ./... build passes. LICENSE keeps upstream Apache attribution (legal).
Residual: ClickHouse dd-sketch driver forks (ch-go, clickhouse-go/v2) — next.
2026-07-12 18:04:52 -07:00

1.3 KiB

O11y Logs Pipeline Processor

An otel processor for powering Hanzo O11y logs pipelines.

The goal of this processor is to achieve a seamless logs pipelines experience for Hanzo O11y users while exposing the same interface as the logstransform processor in opentelemetry-collector-contrib

The implementation mostly borrows from, adapts and enhances the official logstransform processor (and stanza) code to achieve goals of Hanzo O11y pipelines

On success, query service should be able to add logs pipelines to otel collector config using this processor without having to do much translation or augmentation of the user defined config

The following non-exhaustive list of capabilities/improvements on top of what logstransform provides are included

  • sync ConsumeLogs i.e. ConsumeLogs should only return after the ConsumeLogs of the next processor in the pipeline has returned. This helps with reliability of logs processing through the collector. The otel-collector-contrib logstransform processor doesn't have a sync implementation for ConsumeLogs
  • Enhanced addressing capabilities.
    • should be able to refer to top level otlp log fields (like severity) in operator conditions
    • should be able to use body.field in operator config if body is JSON without having to first parse body into an temporary attribute