-
Notifications
You must be signed in to change notification settings - Fork 512
Description
Describe your environment
CentOS 8
gcc 10.3.1
opentelemetry-cpp built from main branch on March 25th, configured using this command:
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_OTLP=ON -DWITH_OTLP_GRPC=OFF -DWITH_ZPAGES=ON -DCMAKE_INSTALL_PREFIX=/usr ..
App code is compiled using C++11.
Steps to reproduce
Code creates TracerProvider using code from samples, creates two different Tracers and uses them to create some spans:
auto tracer_provider = opentelemetry::nostd::shared_ptr<opentelemetry::trace::TracerProvider>
(new opentelemetry::sdk::trace::TracerProvider(std::move(batch_processor), resource, std::move(always_on_sampler)));
opentelemetry::trace::Provider::SetTracerProvider(tracer_provider);
auto tracer1 = opentelemetry::trace::Provider::GetTracerProvider()->GetTracer("Lib1", "1.0");
auto tracer2 = opentelemetry::trace::Provider::GetTracerProvider()->GetTracer("Lib2", "1.1");
auto span1 = tracer1->StartSpan("Span1");
auto span2 = tracer2->StartSpan("Span2");
span1->End();
span2->End();What is the expected behavior?
Both spans have otel.library.name and otel.library.version set to values provided when parent Tracer is created.
What is the actual behavior?
All spans have otel.library.name and otel.library.version set to the same values. It seems that pair with lexicographically smallest name wins - first I created 2 Tracers with names "Ne..." and "NS..." and "Ne..." one won. Then I added 3rd "C..." and this one was selected.