Skip to content

Commit 1ec94c8

Browse files
authored
upgrade nginx OpenTelemetry and gRPC (#252)
1 parent 7034585 commit 1ec94c8

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

instrumentation/nginx/src/otel_ngx_module.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
// clang-format off
2+
// otlp_grpc_exporter header has to be included before any other API header to
3+
// avoid conflict between Abseil library and OpenTelemetry C++ absl::variant.
4+
// https://github.com/open-telemetry/opentelemetry-cpp/tree/main/examples/otlp#additional-notes-regarding-abseil-library
5+
#include <opentelemetry/exporters/otlp/otlp_grpc_exporter.h>
6+
// clang-format on
7+
18
#include <opentelemetry/sdk/trace/processor.h>
29
#include <opentelemetry/trace/span.h>
310
#include <algorithm>
@@ -18,7 +25,6 @@ extern ngx_module_t otel_ngx_module;
1825
#include "nginx_utils.h"
1926
#include "propagate.h"
2027
#include <opentelemetry/context/context.h>
21-
#include <opentelemetry/exporters/otlp/otlp_grpc_exporter.h>
2228
#include <opentelemetry/nostd/shared_ptr.h>
2329
#include <opentelemetry/sdk/trace/batch_span_processor.h>
2430
#include <opentelemetry/sdk/trace/id_generator.h>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
{"resourceSpans":[{"resource":{"attributes":[{"key":"telemetry.sdk.version","value":{"stringValue":"1.3.0"}},{"key":"telemetry.sdk.name","value":{"stringValue":"opentelemetry"}},{"key":"telemetry.sdk.language","value":{"stringValue":"cpp"}},{"key":"service.name","value":{"stringValue":"nginx-proxy"}}]},"instrumentationLibrarySpans":[{"instrumentationLibrary":{"name":"nginx"},"spans":[{"traceId":"777151ac132afc1975887f8a3af71d23","spanId":"60bec6e1671cee32","parentSpanId":"","name":"otel_test","kind":"SPAN_KIND_SERVER","startTimeUnixNano":"1658331753935660143","endTimeUnixNano":"1658331753935827215","attributes":[{"key":"http.method","value":{"stringValue":"GET"}},{"key":"http.flavor","value":{"stringValue":"1.1"}},{"key":"http.target","value":{"stringValue":"/route_to_internal"}},{"key":"http.server_name","value":{"stringValue":"otel_test"}},{"key":"http.host","value":{"stringValue":"localhost:8000"}},{"key":"http.user_agent","value":{"stringValue":"curl/7.68.0"}},{"key":"http.status_code","value":{"intValue":"200"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"net.host.port","value":{"intValue":"8000"}},{"key":"net.peer.ip","value":{"stringValue":"172.25.0.1"}},{"key":"net.peer.port","value":{"intValue":"51608"}},{"key":"test.attrib.global","value":{"stringValue":"global"}},{"key":"test.attrib.custom","value":{"stringValue":"global-custom"}}],"status":{}}]}]}]}
2-
{"resourceSpans":[{"resource":{"attributes":[{"key":"telemetry.sdk.version","value":{"stringValue":"1.3.0"}},{"key":"telemetry.sdk.name","value":{"stringValue":"opentelemetry"}},{"key":"telemetry.sdk.language","value":{"stringValue":"cpp"}},{"key":"service.name","value":{"stringValue":"nginx-proxy"}}]},"instrumentationLibrarySpans":[{"instrumentationLibrary":{"name":"nginx"},"spans":[{"traceId":"579d297c39ddac461fbc50febd77f16a","spanId":"fecfc6a8c9b60f03","parentSpanId":"","name":"otel_test","kind":"SPAN_KIND_SERVER","startTimeUnixNano":"1658331755134563590","endTimeUnixNano":"1658331755134700342","attributes":[{"key":"http.method","value":{"stringValue":"GET"}},{"key":"http.flavor","value":{"stringValue":"1.1"}},{"key":"http.target","value":{"stringValue":"/route_to_internal"}},{"key":"http.server_name","value":{"stringValue":"otel_test"}},{"key":"http.host","value":{"stringValue":"localhost:8000"}},{"key":"http.user_agent","value":{"stringValue":"curl/7.68.0"}},{"key":"http.status_code","value":{"intValue":"200"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"net.host.port","value":{"intValue":"8000"}},{"key":"net.peer.ip","value":{"stringValue":"172.25.0.1"}},{"key":"net.peer.port","value":{"intValue":"51614"}},{"key":"test.attrib.global","value":{"stringValue":"global"}},{"key":"test.attrib.custom","value":{"stringValue":"global-custom"}}],"status":{}}]}]}]}
1+
{"resourceSpans":[{"resource":{"attributes":[{"key":"telemetry.sdk.version","value":{"stringValue":"1.8.1"}},{"key":"telemetry.sdk.name","value":{"stringValue":"opentelemetry"}},{"key":"telemetry.sdk.language","value":{"stringValue":"cpp"}},{"key":"service.name","value":{"stringValue":"nginx-proxy"}}]},"instrumentationLibrarySpans":[{"instrumentationLibrary":{"name":"nginx"},"spans":[{"traceId":"777151ac132afc1975887f8a3af71d23","spanId":"60bec6e1671cee32","parentSpanId":"","name":"otel_test","kind":"SPAN_KIND_SERVER","startTimeUnixNano":"1658331753935660143","endTimeUnixNano":"1658331753935827215","attributes":[{"key":"http.method","value":{"stringValue":"GET"}},{"key":"http.flavor","value":{"stringValue":"1.1"}},{"key":"http.target","value":{"stringValue":"/route_to_internal"}},{"key":"http.server_name","value":{"stringValue":"otel_test"}},{"key":"http.host","value":{"stringValue":"localhost:8000"}},{"key":"http.user_agent","value":{"stringValue":"curl/7.68.0"}},{"key":"http.status_code","value":{"intValue":"200"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"net.host.port","value":{"intValue":"8000"}},{"key":"net.peer.ip","value":{"stringValue":"172.25.0.1"}},{"key":"net.peer.port","value":{"intValue":"51608"}},{"key":"test.attrib.global","value":{"stringValue":"global"}},{"key":"test.attrib.custom","value":{"stringValue":"global-custom"}}],"status":{}}]}]}]}
2+
{"resourceSpans":[{"resource":{"attributes":[{"key":"telemetry.sdk.version","value":{"stringValue":"1.8.1"}},{"key":"telemetry.sdk.name","value":{"stringValue":"opentelemetry"}},{"key":"telemetry.sdk.language","value":{"stringValue":"cpp"}},{"key":"service.name","value":{"stringValue":"nginx-proxy"}}]},"instrumentationLibrarySpans":[{"instrumentationLibrary":{"name":"nginx"},"spans":[{"traceId":"579d297c39ddac461fbc50febd77f16a","spanId":"fecfc6a8c9b60f03","parentSpanId":"","name":"otel_test","kind":"SPAN_KIND_SERVER","startTimeUnixNano":"1658331755134563590","endTimeUnixNano":"1658331755134700342","attributes":[{"key":"http.method","value":{"stringValue":"GET"}},{"key":"http.flavor","value":{"stringValue":"1.1"}},{"key":"http.target","value":{"stringValue":"/route_to_internal"}},{"key":"http.server_name","value":{"stringValue":"otel_test"}},{"key":"http.host","value":{"stringValue":"localhost:8000"}},{"key":"http.user_agent","value":{"stringValue":"curl/7.68.0"}},{"key":"http.status_code","value":{"intValue":"200"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"net.host.port","value":{"intValue":"8000"}},{"key":"net.peer.ip","value":{"stringValue":"172.25.0.1"}},{"key":"net.peer.port","value":{"intValue":"51614"}},{"key":"test.attrib.global","value":{"stringValue":"global"}},{"key":"test.attrib.custom","value":{"stringValue":"global-custom"}}],"status":{}}]}]}]}

instrumentation/nginx/test/instrumentation/lib/mix/tasks/dockerfiles.ex

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
defmodule Mix.Tasks.Dockerfiles do
22
use Mix.Task
33

4-
@grpc_version "v1.36.4"
5-
@otel_cpp_version "v1.3.0"
4+
@grpc_version "v1.49.2"
5+
@otel_cpp_version "v1.8.1"
66

77
def run([out_dir | combos]) do
88
out_dir_abs = Path.expand(out_dir)
@@ -178,6 +178,7 @@ defmodule Mix.Tasks.Dockerfiles do
178178
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \\
179179
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \\
180180
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \\
181+
-DCMAKE_CXX_STANDARD=17 \\
181182
../.. \\
182183
&& make -j2 \\
183184
&& make install
@@ -195,6 +196,7 @@ defmodule Mix.Tasks.Dockerfiles do
195196
-DWITH_OTLP_HTTP=OFF \\
196197
-DBUILD_TESTING=OFF \\
197198
-DWITH_EXAMPLES=OFF \\
199+
-DCMAKE_CXX_STANDARD=17 \\
198200
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \\
199201
.. \\
200202
&& make -j2 \\
@@ -218,4 +220,4 @@ defmodule Mix.Tasks.Dockerfiles do
218220
CMD ["/usr/sbin/nginx", "-g", "daemon off;"]
219221
"""
220222
end
221-
end
223+
end

0 commit comments

Comments
 (0)