#pragma once #include "envoy/config/trace/v3/xray.pb.h" #include "common/common/logger.h" #include "extensions/tracers/common/factory_base.h" namespace Envoy { namespace Extensions { namespace Tracers { namespace XRay { /** * Config registration for the XRay tracer. @see TracerFactory. */ class XRayTracerFactory : public Common::FactoryBase, Logger::Loggable { public: XRayTracerFactory(); private: Tracing::HttpTracerSharedPtr createHttpTracerTyped(const envoy::config::trace::v3::XRayConfig& proto_config, Server::Configuration::TracerFactoryContext& context) override; }; } // namespace XRay } // namespace Tracers } // namespace Extensions } // namespace Envoy