Files
zeekay ae0925f365 merge: upstream/main (-X ours, brand preserved)
# 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
2026-06-02 10:22:06 -07:00

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
}