Skip to content

Commit e29cb41

Browse files
Create tracing_example.cpp
1 parent d122ca9 commit e29cb41

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

examples/tracing/tracing_example.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include <ydb-cpp-sdk/client/tracing/otel_tracer.h>
2+
#include <opentelemetry/sdk/trace/tracer_provider.h>
3+
#include <opentelemetry/exporters/jaeger/jaeger_exporter.h>
4+
#include <ydb-cpp-sdk/client/driver.h>
5+
6+
int main() {
7+
// 1. Настройка OpenTelemetry с экспортером в Jaeger
8+
auto exporter = opentelemetry::exporter::jaeger::JaegerExporterFactory::Create();
9+
auto provider = opentelemetry::sdk::trace::TracerProviderFactory::Create(std::move(exporter));
10+
auto otel_tracer = provider->GetTracer("ydb-cpp-sdk");
11+
12+
// 2. Создание адаптера для YDB SDK
13+
auto ydb_tracer = std::make_shared<NYdb::NTracing::TOpenTelemetryTracer>(otel_tracer);
14+
15+
// 3. Инициализация драйвера YDB с трейсером
16+
auto driver = NYdb::TDriver(
17+
NYdb::TDriverConfig()
18+
.SetEndpoint("grpc://localhost:2136")
19+
.SetDatabase("/local")
20+
.SetTracer(ydb_tracer)
21+
);
22+
23+
// 4. Тестовый запрос (спан создастся автоматически внутри SDK)
24+
auto client = NYdb::NTable::TTableClient(driver);
25+
auto session = client.CreateSession().GetValueSync();
26+
session.ExecuteDataQuery("SELECT 1", NYdb::NTable::TTxControl::BeginTx().CommitTx()).GetValueSync();
27+
28+
return 0;
29+
}

0 commit comments

Comments
 (0)