1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
4 #include "opentelemetry/exporters/jaeger/jaeger_exporter.h"
5 #include "opentelemetry/sdk/trace/simple_processor.h"
6 #include "opentelemetry/sdk/trace/tracer_provider.h"
7 #include "opentelemetry/trace/provider.h"
10 # include "examples/common/foo_library/foo_library.h"
12 # include "foo_library/foo_library.h"
15 namespace trace
= opentelemetry::trace
;
16 namespace nostd
= opentelemetry::nostd
;
17 namespace trace_sdk
= opentelemetry::sdk::trace
;
18 namespace jaeger
= opentelemetry::exporter::jaeger
;
22 opentelemetry::exporter::jaeger::JaegerExporterOptions opts
;
25 // Create Jaeger exporter instance
26 auto exporter
= std::unique_ptr
<trace_sdk::SpanExporter
>(new jaeger::JaegerExporter(opts
));
27 auto processor
= std::unique_ptr
<trace_sdk::SpanProcessor
>(
28 new trace_sdk::SimpleSpanProcessor(std::move(exporter
)));
30 nostd::shared_ptr
<trace::TracerProvider
>(new trace_sdk::TracerProvider(std::move(processor
)));
31 // Set the global trace provider
32 trace::Provider::SetTracerProvider(provider
);
36 int main(int argc
, char *argv
[])
40 opts
.endpoint
= argv
[1];
42 // Removing this line will leave the default noop TracerProvider in place.