]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/examples/common/logs_foo_library/foo_library.cc
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / examples / common / logs_foo_library / foo_library.cc
CommitLineData
1e59de90
TL
1// Copyright The OpenTelemetry Authors
2// SPDX-License-Identifier: Apache-2.0
3#ifdef ENABLE_LOGS_PREVIEW
4# include <map>
5# include <string>
6# include "opentelemetry/logs/provider.h"
7# include "opentelemetry/sdk/version/version.h"
8# include "opentelemetry/trace/provider.h"
9
10namespace logs = opentelemetry::logs;
11namespace trace = opentelemetry::trace;
12namespace nostd = opentelemetry::nostd;
13
14namespace
15{
16nostd::shared_ptr<trace::Tracer> get_tracer()
17{
18 auto provider = trace::Provider::GetTracerProvider();
19 return provider->GetTracer("foo_library", OPENTELEMETRY_SDK_VERSION);
20}
21
22nostd::shared_ptr<logs::Logger> get_logger()
23{
24 auto provider = logs::Provider::GetLoggerProvider();
25 return provider->GetLogger("foo_library_logger", "", "foo_library");
26}
27} // namespace
28
29void foo_library()
30{
31 auto span = get_tracer()->StartSpan("span 1");
32 auto scoped_span = trace::Scope(get_tracer()->StartSpan("foo_library"));
33 auto ctx = span->GetContext();
34 auto logger = get_logger();
35 logger->Log(opentelemetry::logs::Severity::kDebug, "body", {}, ctx.trace_id(), ctx.span_id(),
36 ctx.trace_flags(),
37 opentelemetry::common::SystemTimestamp(std::chrono::system_clock::now()));
38}
39#endif