1
#include "source/extensions/tracers/opentelemetry/config.h"
2

            
3
#include "envoy/config/trace/v3/opentelemetry.pb.h"
4
#include "envoy/config/trace/v3/opentelemetry.pb.validate.h"
5
#include "envoy/registry/registry.h"
6

            
7
#include "source/common/common/logger.h"
8
#include "source/extensions/tracers/opentelemetry/opentelemetry_tracer_impl.h"
9

            
10
namespace Envoy {
11
namespace Extensions {
12
namespace Tracers {
13
namespace OpenTelemetry {
14

            
15
OpenTelemetryTracerFactory::OpenTelemetryTracerFactory()
16
17
    : FactoryBase("envoy.tracers.opentelemetry") {}
17

            
18
Tracing::DriverSharedPtr OpenTelemetryTracerFactory::createTracerDriverTyped(
19
    const envoy::config::trace::v3::OpenTelemetryConfig& proto_config,
20
30
    Server::Configuration::TracerFactoryContext& context) {
21
30
  return std::make_shared<Driver>(proto_config, context);
22
30
}
23

            
24
/**
25
 * Static registration for the OpenTelemetry tracer. @see RegisterFactory.
26
 */
27
REGISTER_FACTORY(OpenTelemetryTracerFactory, Server::Configuration::TracerFactory);
28

            
29
} // namespace OpenTelemetry
30
} // namespace Tracers
31
} // namespace Extensions
32
} // namespace Envoy