]>
git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/jaeger-client-cpp/examples/App.cpp
3 #include <yaml-cpp/yaml.h>
5 #include <jaegertracing/Tracer.h>
9 void setUpTracer(const char* configFilePath
)
11 auto configYAML
= YAML::LoadFile(configFilePath
);
12 auto config
= jaegertracing::Config::parse(configYAML
);
13 auto tracer
= jaegertracing::Tracer::make(
14 "example-service", config
, jaegertracing::logging::consoleLogger());
15 opentracing::Tracer::InitGlobal(
16 std::static_pointer_cast
<opentracing::Tracer
>(tracer
));
19 void tracedSubroutine(const std::unique_ptr
<opentracing::Span
>& parentSpan
)
21 auto span
= opentracing::Tracer::Global()->StartSpan(
22 "tracedSubroutine", { opentracing::ChildOf(&parentSpan
->context()) });
27 auto span
= opentracing::Tracer::Global()->StartSpan("tracedFunction");
28 tracedSubroutine(span
);
31 } // anonymous namespace
33 int main(int argc
, char* argv
[])
36 std::cerr
<< "usage: " << argv
[0] << " <config-yaml-path>\n";
41 // Not stricly necessary to close tracer, but might flush any buffered
42 // spans. See more details in opentracing::Tracer::Close() documentation.
43 opentracing::Tracer::Global()->Close();