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

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

            
7
#include "source/common/common/utility.h"
8
#include "source/extensions/tracers/skywalking/skywalking_tracer_impl.h"
9

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

            
15
6
SkyWalkingTracerFactory::SkyWalkingTracerFactory() : FactoryBase("envoy.tracers.skywalking") {}
16

            
17
Tracing::DriverSharedPtr SkyWalkingTracerFactory::createTracerDriverTyped(
18
    const envoy::config::trace::v3::SkyWalkingConfig& proto_config,
19
2
    Server::Configuration::TracerFactoryContext& context) {
20
2
  return std::make_shared<SkyWalking::Driver>(proto_config, context);
21
2
}
22

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

            
28
} // namespace SkyWalking
29
} // namespace Tracers
30
} // namespace Extensions
31
} // namespace Envoy