Skip to content

Commit 7aea1a6

Browse files
authored
[SEMANTIC CONVENTIONS] Rework on semantic conventions 1.25.0 (#2640)
1 parent 950c336 commit 7aea1a6

File tree

10 files changed

+3700
-65
lines changed

10 files changed

+3700
-65
lines changed

buildscripts/semantic-convention/generate.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ docker run --rm \
8080
-v ${SCRIPT_DIR}/templates:/templates${USE_MOUNT_OPTION} \
8181
-v ${ROOT_DIR}/sdk/include/opentelemetry/sdk/resource/:/output${USE_MOUNT_OPTION} \
8282
otel/semconvgen:$GENERATOR_VERSION \
83-
--only resource \
83+
--only resource,attribute_group \
8484
-f /source code \
8585
--template /templates/SemanticAttributes.h.j2 \
8686
--output /output/semantic_conventions.h \

examples/grpc/client.cc

+7-9
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ class GreeterClient
5050
std::string span_name = "GreeterClient/Greet";
5151
auto span = get_tracer("grpc")->StartSpan(
5252
span_name,
53-
{{opentelemetry::trace::SemanticConventions::kRpcSystem, "grpc"},
54-
{opentelemetry::trace::SemanticConventions::kRpcService, "grpc-example.GreetService"},
55-
{opentelemetry::trace::SemanticConventions::kRpcMethod, "Greet"},
56-
{opentelemetry::trace::SemanticConventions::kNetworkPeerAddress, ip},
57-
{opentelemetry::trace::SemanticConventions::kNetworkPeerPort, port}},
53+
{{SemanticConventions::kRpcSystem, "grpc"},
54+
{SemanticConventions::kRpcService, "grpc-example.GreetService"},
55+
{SemanticConventions::kRpcMethod, "Greet"},
56+
{SemanticConventions::kNetworkPeerAddress, ip},
57+
{SemanticConventions::kNetworkPeerPort, port}},
5858
options);
5959

6060
auto scope = get_tracer("grpc-client")->WithActiveSpan(span);
@@ -70,8 +70,7 @@ class GreeterClient
7070
if (status.ok())
7171
{
7272
span->SetStatus(StatusCode::kOk);
73-
span->SetAttribute(opentelemetry::trace::SemanticConventions::kRpcGrpcStatusCode,
74-
status.error_code());
73+
span->SetAttribute(SemanticConventions::kRpcGrpcStatusCode, status.error_code());
7574
// Make sure to end your spans!
7675
span->End();
7776
return response.response();
@@ -80,8 +79,7 @@ class GreeterClient
8079
{
8180
std::cout << status.error_code() << ": " << status.error_message() << std::endl;
8281
span->SetStatus(StatusCode::kError);
83-
span->SetAttribute(opentelemetry::trace::SemanticConventions::kRpcGrpcStatusCode,
84-
status.error_code());
82+
span->SetAttribute(SemanticConventions::kRpcGrpcStatusCode, status.error_code());
8583
// Make sure to end your spans!
8684
span->End();
8785
return "RPC failed";

examples/grpc/server.cc

+7-8
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,13 @@ class GreeterServer final : public Greeter::Service
6767
options.parent = GetSpan(new_context)->GetContext();
6868

6969
std::string span_name = "GreeterService/Greet";
70-
auto span = get_tracer("grpc")->StartSpan(
71-
span_name,
72-
{{opentelemetry::trace::SemanticConventions::kRpcSystem, "grpc"},
73-
{opentelemetry::trace::SemanticConventions::kRpcService, "GreeterService"},
74-
{opentelemetry::trace::SemanticConventions::kRpcMethod, "Greet"},
75-
{opentelemetry::trace::SemanticConventions::kRpcGrpcStatusCode, 0}},
76-
options);
77-
auto scope = get_tracer("grpc")->WithActiveSpan(span);
70+
auto span = get_tracer("grpc")->StartSpan(span_name,
71+
{{SemanticConventions::kRpcSystem, "grpc"},
72+
{SemanticConventions::kRpcService, "GreeterService"},
73+
{SemanticConventions::kRpcMethod, "Greet"},
74+
{SemanticConventions::kRpcGrpcStatusCode, 0}},
75+
options);
76+
auto scope = get_tracer("grpc")->WithActiveSpan(span);
7877

7978
// Fetch and parse whatever HTTP headers we can from the gRPC request.
8079
span->AddEvent("Processing client attributes");

examples/http/client.cc

+7-9
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,12 @@ void sendRequest(const std::string &url)
2424
opentelemetry::ext::http::common::UrlParser url_parser(url);
2525

2626
std::string span_name = url_parser.path_;
27-
auto span =
28-
get_tracer("http-client")
29-
->StartSpan(span_name,
30-
{{opentelemetry::trace::SemanticConventions::kUrlFull, url_parser.url_},
31-
{opentelemetry::trace::SemanticConventions::kUrlScheme, url_parser.scheme_},
32-
{opentelemetry::trace::SemanticConventions::kHttpRequestMethod, "GET"}},
33-
options);
27+
auto span = get_tracer("http-client")
28+
->StartSpan(span_name,
29+
{{SemanticConventions::kUrlFull, url_parser.url_},
30+
{SemanticConventions::kUrlScheme, url_parser.scheme_},
31+
{SemanticConventions::kHttpRequestMethod, "GET"}},
32+
options);
3433
auto scope = get_tracer("http-client")->WithActiveSpan(span);
3534

3635
// inject current context into http header
@@ -45,8 +44,7 @@ void sendRequest(const std::string &url)
4544
{
4645
// set span attributes
4746
auto status_code = result.GetResponse().GetStatusCode();
48-
span->SetAttribute(opentelemetry::trace::SemanticConventions::kHttpResponseStatusCode,
49-
status_code);
47+
span->SetAttribute(SemanticConventions::kHttpResponseStatusCode, status_code);
5048
result.GetResponse().ForEachHeader(
5149
[&span](nostd::string_view header_name, nostd::string_view header_value) {
5250
span->SetAttribute("http.header." + std::string(header_name.data()), header_value);

examples/http/server.cc

+10-12
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,16 @@ class RequestHandler : public HTTP_SERVER_NS::HttpRequestCallback
3838
options.parent = GetSpan(new_context)->GetContext();
3939

4040
// start span with parent context extracted from http header
41-
auto span =
42-
get_tracer("http-server")
43-
->StartSpan(
44-
span_name,
45-
{{opentelemetry::trace::SemanticConventions::kServerAddress, server_name},
46-
{opentelemetry::trace::SemanticConventions::kServerPort, server_port},
47-
{opentelemetry::trace::SemanticConventions::kHttpRequestMethod, request.method},
48-
{opentelemetry::trace::SemanticConventions::kUrlScheme, "http"},
49-
{opentelemetry::trace::SemanticConventions::kHttpRequestBodySize,
50-
static_cast<uint64_t>(request.content.length())},
51-
{opentelemetry::trace::SemanticConventions::kClientAddress, request.client}},
52-
options);
41+
auto span = get_tracer("http-server")
42+
->StartSpan(span_name,
43+
{{SemanticConventions::kServerAddress, server_name},
44+
{SemanticConventions::kServerPort, server_port},
45+
{SemanticConventions::kHttpRequestMethod, request.method},
46+
{SemanticConventions::kUrlScheme, "http"},
47+
{SemanticConventions::kHttpRequestBodySize,
48+
static_cast<uint64_t>(request.content.length())},
49+
{SemanticConventions::kClientAddress, request.client}},
50+
options);
5351

5452
auto scope = get_tracer("http_server")->WithActiveSpan(span);
5553

exporters/zipkin/src/recordable.cc

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include "opentelemetry/exporters/zipkin/recordable.h"
55
#include "opentelemetry/sdk/resource/resource.h"
66
#include "opentelemetry/sdk/resource/semantic_conventions.h"
7-
#include "opentelemetry/trace/semantic_conventions.h"
87

98
#include <map>
109
#include <string>
@@ -224,9 +223,9 @@ void Recordable::SetResource(const sdk::resource::Resource &resource) noexcept
224223
{
225224
// only service.name attribute is supported by specs as of now.
226225
auto attributes = resource.GetAttributes();
227-
if (attributes.find(trace::SemanticConventions::kServiceName) != attributes.end())
226+
if (attributes.find(SemanticConventions::kServiceName) != attributes.end())
228227
{
229-
service_name_ = nostd::get<std::string>(attributes[trace::SemanticConventions::kServiceName]);
228+
service_name_ = nostd::get<std::string>(attributes[SemanticConventions::kServiceName]);
230229
}
231230
}
232231

0 commit comments

Comments
 (0)