// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 package zipkinreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver" import ( "context" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/confighttp" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver/internal/metadata" ) // This file implements factory for Zipkin receiver. const ( defaultBindEndpoint = "0.0.0.0:9411" ) // NewFactory creates a new Zipkin receiver factory func NewFactory() receiver.Factory { return receiver.NewFactory( metadata.Type, createDefaultConfig, receiver.WithTraces(createTracesReceiver, metadata.TracesStability), ) } // createDefaultConfig creates the default configuration for Zipkin receiver. func createDefaultConfig() component.Config { return &Config{ HTTPServerSettings: confighttp.HTTPServerSettings{ Endpoint: defaultBindEndpoint, }, ParseStringTags: false, } } // createTracesReceiver creates a trace receiver based on provided config. func createTracesReceiver( _ context.Context, set receiver.CreateSettings, cfg component.Config, nextConsumer consumer.Traces, ) (receiver.Traces, error) { rCfg := cfg.(*Config) return newReceiver(rCfg, nextConsumer, set) }