/proc/self/cwd/source/extensions/tracers/dynamic_ot/config.cc
Line | Count | Source (jump to first uncovered line) |
1 | | #include "source/extensions/tracers/dynamic_ot/config.h" |
2 | | |
3 | | #include "envoy/config/trace/v3/dynamic_ot.pb.h" |
4 | | #include "envoy/config/trace/v3/dynamic_ot.pb.validate.h" |
5 | | #include "envoy/registry/registry.h" |
6 | | |
7 | | #include "source/common/common/utility.h" |
8 | | #include "source/extensions/tracers/dynamic_ot/dynamic_opentracing_driver_impl.h" |
9 | | |
10 | | namespace Envoy { |
11 | | namespace Extensions { |
12 | | namespace Tracers { |
13 | | namespace DynamicOt { |
14 | | |
15 | | DynamicOpenTracingTracerFactory::DynamicOpenTracingTracerFactory() |
16 | 4 | : FactoryBase("envoy.tracers.dynamic_ot") {} |
17 | | |
18 | | Tracing::DriverSharedPtr DynamicOpenTracingTracerFactory::createTracerDriverTyped( |
19 | | const envoy::config::trace::v3::DynamicOtConfig& proto_config, |
20 | 0 | Server::Configuration::TracerFactoryContext& context) { |
21 | 0 | const std::string& library = proto_config.library(); |
22 | 0 | const ProtobufWkt::Struct& config_struct = proto_config.config(); |
23 | 0 | absl::StatusOr<std::string> json_or_error = MessageUtil::getJsonStringFromMessage(config_struct); |
24 | 0 | ENVOY_BUG(json_or_error.ok(), "Failed to parse json"); |
25 | 0 | const std::string config = json_or_error.ok() ? json_or_error.value() : ""; |
26 | 0 | return std::make_shared<DynamicOpenTracingDriver>(context.serverFactoryContext().scope(), library, |
27 | 0 | config); |
28 | 0 | } |
29 | | |
30 | | /** |
31 | | * Static registration for the dynamic opentracing tracer. @see RegisterFactory. |
32 | | */ |
33 | | LEGACY_REGISTER_FACTORY(DynamicOpenTracingTracerFactory, Server::Configuration::TracerFactory, |
34 | | "envoy.dynamic.ot"); |
35 | | |
36 | | } // namespace DynamicOt |
37 | | } // namespace Tracers |
38 | | } // namespace Extensions |
39 | | } // namespace Envoy |