mirror of
https://github.com/hanzoai/otel-collector.git
synced 2026-10-30 18:26:25 +00:00
# Conflicts: # processor/o11ylogspipelineprocessor/documentation.md # processor/o11ylogspipelineprocessor/internal/metadata/generated_telemetry.go # processor/o11ylogspipelineprocessor/internal/metadata/generated_telemetry_test.go # processor/o11ylogspipelineprocessor/internal/metadatatest/generated_telemetrytest.go # processor/o11ylogspipelineprocessor/internal/metadatatest/generated_telemetrytest_test.go # processor/o11ylogspipelineprocessor/pipeline_test.go # processor/o11ylogspipelineprocessor/stanza/operator/helper/expr_test.go # processor/o11ylogspipelineprocessor/stanza/operator/helper/ilike.go # processor/o11ylogspipelineprocessor/stanza/operator/helper/like.go # processor/o11ylogspipelineprocessor/stanza/operator/helper/like_test.go # processor/o11ylogspipelineprocessor/testdata/pipeline_test_config.yaml
56 lines
1.7 KiB
Go
56 lines
1.7 KiB
Go
// Brought in as is from logstransform processor in opentelemetry-collector-contrib
|
|
// with identifiers changed for the new processor
|
|
package o11ylogspipelineprocessor
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"fmt"
|
|
|
|
o11ylogspipelinestanzaadapter "github.com/hanzoai/otel-collector/processor/o11ylogspipelineprocessor/stanza/adapter"
|
|
o11ylogspipelinestanzaoperator "github.com/hanzoai/otel-collector/processor/o11ylogspipelineprocessor/stanza/operator"
|
|
"go.opentelemetry.io/collector/component"
|
|
"go.opentelemetry.io/collector/consumer"
|
|
"go.opentelemetry.io/collector/processor"
|
|
|
|
"github.com/hanzoai/otel-collector/processor/o11ylogspipelineprocessor/internal/metadata"
|
|
)
|
|
|
|
func NewFactory() processor.Factory {
|
|
return processor.NewFactory(
|
|
metadata.Type,
|
|
createDefaultConfig,
|
|
processor.WithLogs(createLogsProcessor, metadata.LogsStability))
|
|
}
|
|
|
|
// Note: This isn't a valid configuration (no operators would lead to no work being done)
|
|
func createDefaultConfig() component.Config {
|
|
return &Config{
|
|
BaseConfig: o11ylogspipelinestanzaadapter.BaseConfig{
|
|
Operators: []o11ylogspipelinestanzaoperator.Config{},
|
|
},
|
|
}
|
|
}
|
|
|
|
func createLogsProcessor(
|
|
_ context.Context,
|
|
set processor.Settings,
|
|
cfg component.Config,
|
|
nextConsumer consumer.Logs,
|
|
) (processor.Logs, error) {
|
|
pCfg, ok := cfg.(*Config)
|
|
if !ok {
|
|
return nil, errors.New("could not initialize o11ylogspipeline processor")
|
|
}
|
|
if len(pCfg.BaseConfig.Operators) == 0 {
|
|
return nil, errors.New("no operators were configured for o11ylogspipeline processor")
|
|
}
|
|
|
|
proc, err := newLogsPipelineProcessor(pCfg, set, nextConsumer)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("couldn't build \"o11ylogspipeline\" processor %w", err)
|
|
}
|
|
|
|
return proc, nil
|
|
}
|