Line data Source code
1 : #include "source/extensions/tracers/opentelemetry/resource_detectors/environment/config.h" 2 : 3 : #include "envoy/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector.pb.h" 4 : #include "envoy/extensions/tracers/opentelemetry/resource_detectors/v3/environment_resource_detector.pb.validate.h" 5 : 6 : #include "source/common/config/utility.h" 7 : #include "source/extensions/tracers/opentelemetry/resource_detectors/environment/environment_resource_detector.h" 8 : 9 : namespace Envoy { 10 : namespace Extensions { 11 : namespace Tracers { 12 : namespace OpenTelemetry { 13 : 14 : ResourceDetectorPtr EnvironmentResourceDetectorFactory::createResourceDetector( 15 0 : const Protobuf::Message& message, Server::Configuration::TracerFactoryContext& context) { 16 : 17 0 : auto mptr = Envoy::Config::Utility::translateAnyToFactoryConfig( 18 0 : dynamic_cast<const ProtobufWkt::Any&>(message), context.messageValidationVisitor(), *this); 19 : 20 0 : const auto& proto_config = MessageUtil::downcastAndValidate< 21 0 : const envoy::extensions::tracers::opentelemetry::resource_detectors::v3:: 22 0 : EnvironmentResourceDetectorConfig&>(*mptr, context.messageValidationVisitor()); 23 : 24 0 : return std::make_unique<EnvironmentResourceDetector>(proto_config, context); 25 0 : } 26 : 27 : /** 28 : * Static registration for the Env resource detector factory. @see RegisterFactory. 29 : */ 30 : REGISTER_FACTORY(EnvironmentResourceDetectorFactory, ResourceDetectorFactory); 31 : 32 : } // namespace OpenTelemetry 33 : } // namespace Tracers 34 : } // namespace Extensions 35 : } // namespace Envoy