]>
Commit | Line | Data |
---|---|---|
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 | ||
10 | namespace logs = opentelemetry::logs; | |
11 | namespace trace = opentelemetry::trace; | |
12 | namespace nostd = opentelemetry::nostd; | |
13 | ||
14 | namespace | |
15 | { | |
16 | nostd::shared_ptr<trace::Tracer> get_tracer() | |
17 | { | |
18 | auto provider = trace::Provider::GetTracerProvider(); | |
19 | return provider->GetTracer("foo_library", OPENTELEMETRY_SDK_VERSION); | |
20 | } | |
21 | ||
22 | nostd::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 | ||
29 | void 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 |