Skip to content

Commit cd9d360

Browse files
committed
Fix merge conflicts
2 parents be16f38 + d19eb32 commit cd9d360

File tree

218 files changed

+2464
-663
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+2464
-663
lines changed

.github/workflows/ci.yml

+26-17
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ jobs:
4949
submodules: 'recursive'
5050
- name: setup
5151
env:
52-
CC: /usr/bin/gcc-10
53-
CXX: /usr/bin/g++-10
52+
CC: /usr/bin/gcc-12
53+
CXX: /usr/bin/g++-12
5454
run: |
5555
sudo -E ./ci/setup_googletest.sh
5656
sudo -E ./ci/setup_ci_environment.sh
5757
- name: run cmake tests (without otlp-exporter)
5858
env:
59-
CC: /usr/bin/gcc-10
60-
CXX: /usr/bin/g++-10
59+
CC: /usr/bin/gcc-12
60+
CXX: /usr/bin/g++-12
6161
run: |
6262
./ci/do_ci.sh cmake.test
6363
@@ -263,15 +263,15 @@ jobs:
263263
submodules: 'recursive'
264264
- name: setup
265265
env:
266-
CC: /usr/bin/gcc-10
267-
CXX: /usr/bin/g++-10
266+
CC: /usr/bin/gcc-12
267+
CXX: /usr/bin/g++-12
268268
run: |
269269
sudo -E ./ci/setup_googletest.sh
270270
sudo -E ./ci/setup_ci_environment.sh
271271
- name: run cmake tests (without otlp-exporter)
272272
env:
273-
CC: /usr/bin/gcc-10
274-
CXX: /usr/bin/g++-10
273+
CC: /usr/bin/gcc-12
274+
CXX: /usr/bin/g++-12
275275
run: |
276276
./ci/do_ci.sh cmake.with_async_export.test
277277
@@ -359,7 +359,7 @@ jobs:
359359

360360
cmake_test_cxx20_clang:
361361
name: CMake C++20 test(Clang with libc++)
362-
runs-on: ubuntu-latest
362+
runs-on: ubuntu-22.04
363363
steps:
364364
- uses: actions/checkout@v4
365365
with:
@@ -409,7 +409,7 @@ jobs:
409409

410410
cmake_test_cxx23_clang:
411411
name: CMake C++23 test(Clang with libc++)
412-
runs-on: ubuntu-latest
412+
runs-on: ubuntu-22.04
413413
steps:
414414
- uses: actions/checkout@v4
415415
with:
@@ -452,6 +452,15 @@ jobs:
452452
run: |
453453
sudo ./ci/setup_grpc.sh
454454
./ci/do_ci.sh cmake.exporter.otprotocol.test
455+
- name: generate test cert
456+
env:
457+
CFSSL_VERSION: 1.6.3
458+
run: |
459+
sudo -E ./tools/setup-cfssl.sh
460+
(cd ./functional/cert; ./generate_cert.sh)
461+
- name: run func test
462+
run: |
463+
(cd ./functional/otlp; ./run_test.sh)
455464
456465
cmake_modern_protobuf_grpc_with_abseil_test:
457466
name: CMake test (with modern protobuf,grpc and abseil)
@@ -538,15 +547,15 @@ jobs:
538547
submodules: 'recursive'
539548
- name: setup
540549
env:
541-
CC: /usr/bin/gcc-10
542-
CXX: /usr/bin/g++-10
550+
CC: /usr/bin/gcc-12
551+
CXX: /usr/bin/g++-12
543552
run: |
544553
sudo -E ./ci/setup_googletest.sh
545554
sudo -E ./ci/setup_ci_environment.sh
546555
- name: run tests
547556
env:
548-
CC: /usr/bin/gcc-10
549-
CXX: /usr/bin/g++-10
557+
CC: /usr/bin/gcc-12
558+
CXX: /usr/bin/g++-12
550559
run: ./ci/do_ci.sh cmake.test_example_plugin
551560

552561
bazel_test:
@@ -858,7 +867,7 @@ jobs:
858867

859868
code_coverage:
860869
name: Code coverage
861-
runs-on: ubuntu-latest
870+
runs-on: ubuntu-22.04
862871
steps:
863872
- uses: actions/checkout@v4
864873
with:
@@ -936,8 +945,8 @@ jobs:
936945
submodules: 'recursive'
937946
- name: setup
938947
env:
939-
CC: /usr/bin/gcc-10
940-
CXX: /usr/bin/g++-10
948+
CC: /usr/bin/gcc-12
949+
CXX: /usr/bin/g++-12
941950
run: |
942951
sudo -E ./ci/setup_googletest.sh
943952
sudo -E ./ci/setup_ci_environment.sh

.github/workflows/codeql-analysis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
rm -rf third_party
2121
- name: Setup
2222
env:
23-
CC: /usr/bin/gcc-10
24-
CXX: /usr/bin/g++-10
23+
CC: /usr/bin/gcc-12
24+
CXX: /usr/bin/g++-12
2525
GOOGLETEST_VERSION: 1.12.1
2626
run: |
2727
sudo -E ./ci/setup_googletest.sh

.github/workflows/iwyu.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
readonly WARNING_COUNT=`grep -c "include-what-you-use reported diagnostics:" iwyu.log`
6868
echo "include-what-you-use reported ${WARNING_COUNT} warning(s)"
6969
# Acceptable limit, to decrease over time down to 0
70-
readonly WARNING_LIMIT=10
70+
readonly WARNING_LIMIT=180
7171
# FAIL the build if WARNING_COUNT > WARNING_LIMIT
7272
if [ $WARNING_COUNT -gt $WARNING_LIMIT ] ; then
7373
exit 1

.iwyu.imp

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
{ "include": ["<gtest/gtest-param-test.h>", "private", "<gtest/gtest.h>", "public"] },
2020
{ "include": ["<gtest/gtest_pred_impl.h>", "private", "<gtest/gtest.h>", "public"] },
2121
{ "include": ["<gtest/gtest-typed-test.h>", "private", "<gtest/gtest.h>", "public"] },
22+
{ "include": ["<gtest/gtest-assertion-result.h>", "private", "<gtest/gtest.h>", "public"] },
2223

2324
# We prefer to include <gmock/gmock.h> for simplicity
2425
{ "include": ["<gmock/gmock-function-mocker.h>", "private", "<gmock/gmock.h>", "public"] },

CHANGELOG.md

+12-6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@ Increment the:
1515

1616
## [Unreleased]
1717

18+
* [SDK] Add tracer scope configurator
19+
[#3137](https://github.com/open-telemetry/opentelemetry-cpp/pull/3137)
20+
21+
* [SDK] Do not frequently create and destroy http client threads
22+
[#3198](https://github.com/open-telemetry/opentelemetry-cpp/pull/3198)
23+
24+
* [SDK] Fix instrumentation scope attributes evaluated in equal method
25+
[#3214](https://github.com/open-telemetry/opentelemetry-cpp/pull/3214)
26+
27+
* [EXPORTER] Fix scope attributes missing from otlp traces metrics
28+
[#3185](https://github.com/open-telemetry/opentelemetry-cpp/pull/3185)
29+
1830
## [1.18 2024-11-25]
1931

2032
* [EXPORTER] Fix crash in ElasticsearchLogRecordExporter
@@ -149,12 +161,6 @@ Increment the:
149161
* [bazel] Update opentelemetry-proto in MODULE.bazel
150162
[#3163](https://github.com/open-telemetry/opentelemetry-cpp/pull/3163)
151163

152-
* [EXPORTER] Fix scope attributes missing from otlp traces metrics
153-
[#3185](https://github.com/open-telemetry/opentelemetry-cpp/pull/3185)
154-
155-
* [SDK] Add tracer scope configurator
156-
[#3137](https://github.com/open-telemetry/opentelemetry-cpp/pull/3137)
157-
158164
Important changes:
159165

160166
* [API] Jaeger Propagator should not be deprecated

CMakeLists.txt

+31
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,37 @@ if(BUILD_TESTING)
645645
endif()
646646
message(STATUS "GTEST_INCLUDE_DIRS = ${GTEST_INCLUDE_DIRS}")
647647
message(STATUS "GTEST_BOTH_LIBRARIES = ${GTEST_BOTH_LIBRARIES}")
648+
649+
# Try to find gmock
650+
if(NOT GMOCK_LIB AND TARGET GTest::gmock)
651+
set(GMOCK_LIB GTest::gmock)
652+
elseif(MSVC)
653+
# Explicitly specify that we consume GTest from shared library. The rest of
654+
# code logic below determines whether we link Release or Debug flavor of the
655+
# library. These flavors have different prefix on Windows, gmock and gmockd
656+
# respectively.
657+
add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1)
658+
if(GMOCK_LIB)
659+
# unset GMOCK_LIB to force find_library to redo the lookup, as the cached
660+
# entry could cause linking to incorrect flavor of gmock and leading to
661+
# runtime error.
662+
unset(GMOCK_LIB CACHE)
663+
endif()
664+
endif()
665+
if(NOT GMOCK_LIB)
666+
if(MSVC AND CMAKE_BUILD_TYPE STREQUAL "Debug")
667+
find_library(GMOCK_LIB gmockd PATH_SUFFIXES lib)
668+
else()
669+
find_library(GMOCK_LIB gmock PATH_SUFFIXES lib)
670+
endif()
671+
# Reset GMOCK_LIB if it was not found, or some target may link
672+
# GMOCK_LIB-NOTFOUND
673+
if(NOT GMOCK_LIB)
674+
unset(GMOCK_LIB)
675+
unset(GMOCK_LIB CACHE)
676+
endif()
677+
endif()
678+
648679
enable_testing()
649680
if(WITH_BENCHMARK)
650681
# Benchmark respects the CMAKE_PREFIX_PATH

MODULE.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ bazel_dep(name = "bazel_skylib", version = "1.5.0")
1313
bazel_dep(name = "curl", version = "8.8.0")
1414
bazel_dep(name = "grpc", version = "1.63.1.bcr.1", repo_name = "com_github_grpc_grpc")
1515
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "github_nlohmann_json")
16-
bazel_dep(name = "opentelemetry-proto", version = "1.4.0", repo_name = "com_github_opentelemetry_proto")
16+
bazel_dep(name = "opentelemetry-proto", version = "1.5.0", repo_name = "com_github_opentelemetry_proto")
1717
bazel_dep(name = "opentracing-cpp", version = "1.6.0", repo_name = "com_github_opentracing")
1818
bazel_dep(name = "platforms", version = "0.0.8")
1919
bazel_dep(name = "prometheus-cpp", version = "1.3.0", repo_name = "com_github_jupp0r_prometheus_cpp")

api/include/opentelemetry/detail/preprocessor.h

+12
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,15 @@
1111

1212
#define OPENTELEMETRY_CONCAT(A, B) OPENTELEMETRY_CONCAT_(A, B)
1313
#define OPENTELEMETRY_CONCAT_(A, B) A##B
14+
15+
// Import the C++20 feature-test macros
16+
#ifdef __has_include
17+
# if __has_include(<version>)
18+
# include <version>
19+
# endif
20+
#elif defined(_MSC_VER) && ((defined(__cplusplus) && __cplusplus >= 202002L) || \
21+
(defined(_MSVC_LANG) && _MSVC_LANG >= 202002L))
22+
# if _MSC_VER >= 1922
23+
# include <version>
24+
# endif
25+
#endif

api/include/opentelemetry/semconv/http_metrics.h

+2-4
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ namespace http
2525
* <p>
2626
* histogram
2727
*/
28-
static constexpr const char *kMetricHttpClientRequestDuration =
29-
"metric.http.client.request.duration";
28+
static constexpr const char *kMetricHttpClientRequestDuration = "http.client.request.duration";
3029
static constexpr const char *descrMetricHttpClientRequestDuration =
3130
"Duration of HTTP client requests.";
3231
static constexpr const char *unitMetricHttpClientRequestDuration = "s";
@@ -52,8 +51,7 @@ CreateSyncDoubleMetricHttpClientRequestDuration(metrics::Meter *meter)
5251
* <p>
5352
* histogram
5453
*/
55-
static constexpr const char *kMetricHttpServerRequestDuration =
56-
"metric.http.server.request.duration";
54+
static constexpr const char *kMetricHttpServerRequestDuration = "http.server.request.duration";
5755
static constexpr const char *descrMetricHttpServerRequestDuration =
5856
"Duration of HTTP server requests.";
5957
static constexpr const char *unitMetricHttpServerRequestDuration = "s";

api/include/opentelemetry/semconv/incubating/container_metrics.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace container
2727
* <p>
2828
* counter
2929
*/
30-
static constexpr const char *kMetricContainerCpuTime = "metric.container.cpu.time";
30+
static constexpr const char *kMetricContainerCpuTime = "container.cpu.time";
3131
static constexpr const char *descrMetricContainerCpuTime = "Total CPU time consumed";
3232
static constexpr const char *unitMetricContainerCpuTime = "s";
3333

@@ -66,7 +66,7 @@ CreateAsyncDoubleMetricContainerCpuTime(metrics::Meter *meter)
6666
* <p>
6767
* gauge
6868
*/
69-
static constexpr const char *kMetricContainerCpuUsage = "metric.container.cpu.usage";
69+
static constexpr const char *kMetricContainerCpuUsage = "container.cpu.usage";
7070
static constexpr const char *descrMetricContainerCpuUsage =
7171
"Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs";
7272
static constexpr const char *unitMetricContainerCpuUsage = "{cpu}";
@@ -109,7 +109,7 @@ CreateAsyncDoubleMetricContainerCpuUsage(metrics::Meter *meter)
109109
* <p>
110110
* counter
111111
*/
112-
static constexpr const char *kMetricContainerDiskIo = "metric.container.disk.io";
112+
static constexpr const char *kMetricContainerDiskIo = "container.disk.io";
113113
static constexpr const char *descrMetricContainerDiskIo = "Disk bytes for the container.";
114114
static constexpr const char *unitMetricContainerDiskIo = "By";
115115

@@ -148,7 +148,7 @@ CreateAsyncDoubleMetricContainerDiskIo(metrics::Meter *meter)
148148
* <p>
149149
* counter
150150
*/
151-
static constexpr const char *kMetricContainerMemoryUsage = "metric.container.memory.usage";
151+
static constexpr const char *kMetricContainerMemoryUsage = "container.memory.usage";
152152
static constexpr const char *descrMetricContainerMemoryUsage = "Memory usage of the container.";
153153
static constexpr const char *unitMetricContainerMemoryUsage = "By";
154154

@@ -187,7 +187,7 @@ CreateAsyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter)
187187
* <p>
188188
* counter
189189
*/
190-
static constexpr const char *kMetricContainerNetworkIo = "metric.container.network.io";
190+
static constexpr const char *kMetricContainerNetworkIo = "container.network.io";
191191
static constexpr const char *descrMetricContainerNetworkIo = "Network bytes for the container.";
192192
static constexpr const char *unitMetricContainerNetworkIo = "By";
193193

@@ -226,7 +226,7 @@ CreateAsyncDoubleMetricContainerNetworkIo(metrics::Meter *meter)
226226
* as a floating point number with the highest precision available. The actual accuracy would depend
227227
* on the instrumentation and operating system. <p> gauge
228228
*/
229-
static constexpr const char *kMetricContainerUptime = "metric.container.uptime";
229+
static constexpr const char *kMetricContainerUptime = "container.uptime";
230230
static constexpr const char *descrMetricContainerUptime = "The time the container has been running";
231231
static constexpr const char *unitMetricContainerUptime = "s";
232232

0 commit comments

Comments
 (0)