Files
zeekay 087e487107 feat: rebrand signoz-otel-collector → Hanzo OTEL Collector
- Go module: github.com/SigNoz/signoz-otel-collector → github.com/hanzoai/otel-collector
- All signoz-prefixed packages → o11y-prefixed
- Docker: signoz/* → ghcr.io/hanzoai/otel-collector
- ClickHouse exporter → Hanzo Datastore
- Env vars: SIGNOZ_* → HANZO_*
- Directory renames for all processor/receiver/exporter packages
2026-03-12 00:21:24 -07:00

106 lines
3.1 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package o11ytransformprocessor // import "github.com/hanzoai/otel-collector/processor/o11ytransformprocessor"
import (
"context"
"fmt"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/processor"
"go.opentelemetry.io/collector/processor/processorhelper"
"github.com/hanzoai/otel-collector/processor/o11ytransformprocessor/internal/common"
"github.com/hanzoai/otel-collector/processor/o11ytransformprocessor/internal/logs"
"github.com/hanzoai/otel-collector/processor/o11ytransformprocessor/internal/metadata"
"github.com/hanzoai/otel-collector/processor/o11ytransformprocessor/internal/metrics"
"github.com/hanzoai/otel-collector/processor/o11ytransformprocessor/internal/traces"
"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl"
)
var processorCapabilities = consumer.Capabilities{MutatesData: true}
func NewFactory() processor.Factory {
return processor.NewFactory(
metadata.Type,
createDefaultConfig,
processor.WithLogs(createLogsProcessor, metadata.LogsStability),
processor.WithTraces(createTracesProcessor, metadata.TracesStability),
processor.WithMetrics(createMetricsProcessor, metadata.MetricsStability),
)
}
func createDefaultConfig() component.Config {
return &Config{
ErrorMode: ottl.PropagateError,
TraceStatements: []common.ContextStatements{},
MetricStatements: []common.ContextStatements{},
LogStatements: []common.ContextStatements{},
}
}
func createLogsProcessor(
ctx context.Context,
set processor.Settings,
cfg component.Config,
nextConsumer consumer.Logs,
) (processor.Logs, error) {
oCfg := cfg.(*Config)
proc, err := logs.NewProcessor(oCfg.LogStatements, oCfg.ErrorMode, set.TelemetrySettings)
if err != nil {
return nil, fmt.Errorf("invalid config for \"transform\" processor %w", err)
}
return processorhelper.NewLogs(
ctx,
set,
cfg,
nextConsumer,
proc.ProcessLogs,
processorhelper.WithCapabilities(processorCapabilities))
}
func createTracesProcessor(
ctx context.Context,
set processor.Settings,
cfg component.Config,
nextConsumer consumer.Traces,
) (processor.Traces, error) {
oCfg := cfg.(*Config)
proc, err := traces.NewProcessor(oCfg.TraceStatements, oCfg.ErrorMode, set.TelemetrySettings)
if err != nil {
return nil, fmt.Errorf("invalid config for \"transform\" processor %w", err)
}
return processorhelper.NewTraces(
ctx,
set,
cfg,
nextConsumer,
proc.ProcessTraces,
processorhelper.WithCapabilities(processorCapabilities))
}
func createMetricsProcessor(
ctx context.Context,
set processor.Settings,
cfg component.Config,
nextConsumer consumer.Metrics,
) (processor.Metrics, error) {
oCfg := cfg.(*Config)
proc, err := metrics.NewProcessor(oCfg.MetricStatements, oCfg.ErrorMode, set.TelemetrySettings)
if err != nil {
return nil, fmt.Errorf("invalid config for \"transform\" processor %w", err)
}
return processorhelper.NewMetrics(
ctx,
set,
cfg,
nextConsumer,
proc.ProcessMetrics,
processorhelper.WithCapabilities(processorCapabilities))
}