Skip to content

Commit b2837c5

Browse files
authored
Merge branch 'main' into link_problems_of_grpc
2 parents 32db6c8 + b9cf499 commit b2837c5

File tree

121 files changed

+4846
-4651
lines changed

Some content is hidden

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

121 files changed

+4846
-4651
lines changed

.github/workflows/dependencies_image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
3030
-
3131
name: Build Image
32-
uses: docker/build-push-action@1dc73863535b631f98b2378be8619f83b136f4a0 # v6.17.0
32+
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
3333
with:
3434
builder: ${{ steps.buildx.outputs.name }}
3535
context: ci/

CHANGELOG.md

Lines changed: 161 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,61 +15,185 @@ Increment the:
1515

1616
## [Unreleased]
1717

18-
* [BUILD] Error out when building DLL without MSVC
19-
[#3438](https://github.com/open-telemetry/opentelemetry-cpp/pull/3438)
18+
## [1.21 2025-05-28]
2019

21-
* [Metrics SDK] Use nostd::function_ref in AttributesHashMap
22-
[#3393](https://github.com/open-telemetry/opentelemetry-cpp/pull/3393)
20+
* [BUILD] Remove WITH_ABSEIL
21+
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)
2322

24-
* [SDK] Base2 exponential histogram aggregation
25-
[#3175](https://github.com/open-telemetry/opentelemetry-cpp/pull/3346)
23+
* [INSTALL] Add CMake components to the opentelemetry-cpp package
24+
[#3320](https://github.com/open-telemetry/opentelemetry-cpp/pull/3220)
2625

27-
New Features:
26+
* [CI] Harden GitHub Actions
27+
[#3338](https://github.com/open-telemetry/opentelemetry-cpp/pull/3338)
2828

29-
Add base2 exponential histogram aggregation. Includes a new aggregation type,
30-
ostream exporter, and otlp/grpc exporter. Updated histogram aggregation and
31-
benchmark tests.
29+
* [StepSecurity] Harden GibHub Actions, part 2
30+
[#3340](https://github.com/open-telemetry/opentelemetry-cpp/pull/3340)
3231

33-
* [API] Remove `WITH_ABSEIL` and `HAVE_ABSEIL`
34-
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)
32+
* Bump github/codeql-action from 3.28.12 to 3.28.13
33+
[#3341](https://github.com/open-telemetry/opentelemetry-cpp/pull/3341)
3534

36-
* [CMAKE] Bump cmake minimum required version to 3.14
35+
* [DEVCONTAINER] expose cmake version setting as docker arg and environment variable
36+
[#3347](https://github.com/open-telemetry/opentelemetry-cpp/pull/3347)
37+
38+
* [CI] disable bzip2 in conan builds
39+
[#3352](https://github.com/open-telemetry/opentelemetry-cpp/pull/3352)
40+
41+
* [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.32.0
42+
[#3351](https://github.com/open-telemetry/opentelemetry-cpp/pull/3351)
43+
44+
* Bump github/codeql-action from 3.28.13 to 3.28.15
45+
[#3353](https://github.com/open-telemetry/opentelemetry-cpp/pull/3353)
46+
47+
* [CMAKE] bump cmake minimum required version to 3.14
3748
[#3349](https://github.com/open-telemetry/opentelemetry-cpp/pull/3349)
3849

50+
* Bump codecov/codecov-action from 5.4.0 to 5.4.2
51+
[#3362](https://github.com/open-telemetry/opentelemetry-cpp/pull/3362)
52+
53+
* [DOC] Fix documentation tags in logger API
54+
[#3371](https://github.com/open-telemetry/opentelemetry-cpp/pull/3371)
55+
56+
* [CI] fix artifacts download/upload
57+
[#3369](https://github.com/open-telemetry/opentelemetry-cpp/pull/3369)
58+
3959
* [API] Add Enabled method to Tracer
4060
[#3357](https://github.com/open-telemetry/opentelemetry-cpp/pull/3357)
4161

42-
* [SDK] Optimize PeriodicExportingMetricReader thread usage
62+
* [BUILD] Fixes warnings of ciso646 in C++17
63+
[#3360](https://github.com/open-telemetry/opentelemetry-cpp/pull/3360)
64+
65+
* Bump github/codeql-action from 3.28.15 to 3.28.16
66+
[#3377](https://github.com/open-telemetry/opentelemetry-cpp/pull/3377)
67+
68+
* Bump step-security/harden-runner from 2.11.1 to 2.12.0
69+
[#3373](https://github.com/open-telemetry/opentelemetry-cpp/pull/3373)
70+
71+
* Bump docker/build-push-action from 6.15.0 to 6.16.0
72+
[#3382](https://github.com/open-telemetry/opentelemetry-cpp/pull/3382)
73+
74+
* Bump actions/download-artifact from 4.2.1 to 4.3.0
75+
[#3381](https://github.com/open-telemetry/opentelemetry-cpp/pull/3381)
76+
77+
* [CI] Harden Github actions - pinned-dependencies (part -1)
78+
[#3380](https://github.com/open-telemetry/opentelemetry-cpp/pull/3380)
79+
80+
* [StepSecurity] ci: Harden GitHub Actions
81+
[#3378](https://github.com/open-telemetry/opentelemetry-cpp/pull/3378)
82+
83+
* [SDK] Base2 exponential histogram aggregation
84+
[#3346](https://github.com/open-telemetry/opentelemetry-cpp/pull/3346)
85+
86+
* [StepSecurity] ci: Harden GitHub Actions
87+
[#3379](https://github.com/open-telemetry/opentelemetry-cpp/pull/3379)
88+
89+
* [BUILD] Fixes glibc++ 5 checking
90+
[#3355](https://github.com/open-telemetry/opentelemetry-cpp/pull/3355)
91+
92+
* [TEST] Add stress test for histogram metric for multiple threads validation
93+
[#3388](https://github.com/open-telemetry/opentelemetry-cpp/pull/3388)
94+
95+
* Bump github/codeql-action from 3.28.16 to 3.28.17
96+
[#3389](https://github.com/open-telemetry/opentelemetry-cpp/pull/3389)
97+
98+
* [SDK] Optimize PeriodicExportingMetricReader Thread Usage
4399
[#3383](https://github.com/open-telemetry/opentelemetry-cpp/pull/3383)
44100

45-
* [SDK] Aggregate identical metrics instruments and detect duplicates
101+
* [Metrics SDK] Use nostd::function_ref in AttributesHashMap
102+
[#3393](https://github.com/open-telemetry/opentelemetry-cpp/pull/3393)
103+
104+
* [SDK] support aggregation of identical instruments
46105
[#3358](https://github.com/open-telemetry/opentelemetry-cpp/pull/3358)
47106

48-
* [INSTALL] Add CMake components to the opentelemetry-cpp package
49-
[#3320](https://github.com/open-telemetry/opentelemetry-cpp/pull/3220)
50-
[#3368](https://github.com/open-telemetry/opentelemetry-cpp/pull/3368)
107+
* [BUILD] Fixes unused var
108+
[#3397](https://github.com/open-telemetry/opentelemetry-cpp/pull/3397)
51109

52-
* [BUILD] Upgrade opentelemetry-proto to 1.6.0
53-
[#3407](https://github.com/open-telemetry/opentelemetry-cpp/pull/3407)
110+
* [INSTALL] Unify cmake install functions and dynamically set component dependencies
111+
[#3368](https://github.com/open-telemetry/opentelemetry-cpp/pull/3368)
54112

55113
* [BUILD] Upgrade nlohmann_json to 3.12.0
56114
[#3406](https://github.com/open-telemetry/opentelemetry-cpp/pull/3406)
57115

58-
* [CMAKE] Add generated protobuf headers to the opentelemetry_proto target
116+
* [BUILD] Upgrade opentelemetry-proto to 1.6.0
117+
[#3407](https://github.com/open-telemetry/opentelemetry-cpp/pull/3407)
118+
119+
* [CMAKE] add generated protobuf headers to the opentelemetry_proto target
59120
[#3400](https://github.com/open-telemetry/opentelemetry-cpp/pull/3400)
60121

61-
* [CMAKE] Remove include_directories usage and rely on target properties
122+
* [MERGE] Fix accidental rollback of nlohmann-json submodule
123+
[#3415](https://github.com/open-telemetry/opentelemetry-cpp/pull/3415)
124+
125+
* Bump fossas/fossa-action from 1.6.0 to 1.7.0
126+
[#3414](https://github.com/open-telemetry/opentelemetry-cpp/pull/3414)
127+
128+
* Bump docker/build-push-action from 6.16.0 to 6.17.0
129+
[#3420](https://github.com/open-telemetry/opentelemetry-cpp/pull/3420)
130+
131+
* Bump codecov/codecov-action from 5.4.2 to 5.4.3
132+
[#3419](https://github.com/open-telemetry/opentelemetry-cpp/pull/3419)
133+
134+
* [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.33
135+
[#3416](https://github.com/open-telemetry/opentelemetry-cpp/pull/3416)
136+
137+
* [DOCS] update the INSTALL guide on cmake components
138+
[#3422](https://github.com/open-telemetry/opentelemetry-cpp/pull/3422)
139+
140+
* Bump github/codeql-action from 3.28.17 to 3.28.18
141+
[#3423](https://github.com/open-telemetry/opentelemetry-cpp/pull/3423)
142+
143+
* [CMAKE] update cmake files in examples directory
144+
[#3421](https://github.com/open-telemetry/opentelemetry-cpp/pull/3421)
145+
146+
* [SDK] Fix Base2ExponentialHistogramAggregation Merge with empty buckets
147+
[#3425](https://github.com/open-telemetry/opentelemetry-cpp/pull/3425)
148+
149+
* [SDK] Fix MetricProducer interface
150+
[#3413](https://github.com/open-telemetry/opentelemetry-cpp/pull/3413)
151+
152+
* [CMAKE] remove global include_directories usage and rely on target properties
62153
[#3426](https://github.com/open-telemetry/opentelemetry-cpp/pull/3426)
63154

155+
* [BUILD] remove unused WITH_CURL build flag
156+
[#3429](https://github.com/open-telemetry/opentelemetry-cpp/pull/3429)
157+
64158
* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.34.0
65159
[#3428](https://github.com/open-telemetry/opentelemetry-cpp/pull/3428)
66160

67-
* [EXPORTER] ostream log exporter, fixed memory ownership issues
161+
* [EXPORTER] ostream log exporter, fix memory ownership issues
68162
[#3417](https://github.com/open-telemetry/opentelemetry-cpp/pull/3417)
69163

70-
* [TEST] Test all components in a CMake super build
164+
* [TEST] add all components to the cmake fetch content test
71165
[#3433](https://github.com/open-telemetry/opentelemetry-cpp/pull/3433)
72166

167+
* [BUILD] Error out when building DLL without MSVC
168+
[#3438](https://github.com/open-telemetry/opentelemetry-cpp/pull/3438)
169+
170+
* [BUILD] Add missing CMake keyword for target_link_libraries
171+
[#3442](https://github.com/open-telemetry/opentelemetry-cpp/pull/3442)
172+
173+
* [CMAKE] Remove third-party version mismatch warning
174+
[#3432](https://github.com/open-telemetry/opentelemetry-cpp/pull/3432)
175+
176+
* Bump docker/build-push-action from 6.17.0 to 6.18.0
177+
[#3446](https://github.com/open-telemetry/opentelemetry-cpp/pull/3446)
178+
179+
* [SEMANTIC CONVENTIONS] Fix comment style to preserve markup.
180+
[#3444](https://github.com/open-telemetry/opentelemetry-cpp/pull/3444)
181+
182+
* [EXPORTER] support unix sockets in grpc client
183+
[#3410](https://github.com/open-telemetry/opentelemetry-cpp/pull/3410)
184+
185+
* [BUILD] Propagate INTERFACE_COMPILE_DEFINITIONS from API through common_foo_library
186+
[#3440](https://github.com/open-telemetry/opentelemetry-cpp/pull/3440)
187+
188+
New Features:
189+
190+
* [SDK] Base2 exponential histogram aggregation
191+
[#3346](https://github.com/open-telemetry/opentelemetry-cpp/pull/3346)
192+
193+
* Add base2 exponential histogram aggregation. Includes a new aggregation type,
194+
ostream exporter, and otlp/grpc exporter. Updated histogram aggregation and
195+
benchmark tests.
196+
73197
Important changes:
74198

75199
* [EXPORTER] ostream log exporter, fixed memory ownership issues
@@ -89,6 +213,19 @@ Important changes:
89213

90214
* Applications not using these SDK classes directly are not affected.
91215

216+
* [BUILD] Remove WITH_ABSEIL
217+
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)
218+
219+
* The build option `WITH_ABSEIL` is no longer used, and opentelemetry-cpp
220+
will no longer use any release of abseil provided externally,
221+
for its own use.
222+
223+
* Instead, opentelemetry-cpp will only use an internal abseil version.
224+
225+
* This change resolves long standing binary integrity issues,
226+
that occurred in the past when mixing several versions of abseil
227+
in the build.
228+
92229
## [1.20 2025-04-01]
93230

94231
* [BUILD] Update opentelemetry-proto version

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
module(
55
name = "opentelemetry-cpp",
6-
version = "1.17.0",
6+
version = "1.21.0",
77
compatibility_level = 0,
88
repo_name = "io_opentelemetry_cpp",
99
)

api/include/opentelemetry/semconv/client_attributes.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@ namespace client
2020
{
2121

2222
/**
23-
* Client address - domain name if available without reverse DNS lookup; otherwise, IP address or
24-
* Unix domain socket name. <p> When observed from the server side, and when communicating through
25-
* an intermediary, @code client.address @endcode SHOULD represent the client address behind any
26-
* intermediaries, for example proxies, if it's available.
23+
Client address - domain name if available without reverse DNS lookup; otherwise, IP address or
24+
Unix domain socket name. <p> When observed from the server side, and when communicating through an
25+
intermediary, @code client.address @endcode SHOULD represent the client address behind any
26+
intermediaries, for example proxies, if it's available.
2727
*/
2828
static constexpr const char *kClientAddress = "client.address";
2929

3030
/**
31-
* Client port number.
32-
* <p>
33-
* When observed from the server side, and when communicating through an intermediary, @code
34-
* client.port @endcode SHOULD represent the client port behind any intermediaries, for example
35-
* proxies, if it's available.
31+
Client port number.
32+
<p>
33+
When observed from the server side, and when communicating through an intermediary, @code
34+
client.port @endcode SHOULD represent the client port behind any intermediaries, for example
35+
proxies, if it's available.
3636
*/
3737
static constexpr const char *kClientPort = "client.port";
3838

api/include/opentelemetry/semconv/code_attributes.h

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -20,59 +20,59 @@ namespace code
2020
{
2121

2222
/**
23-
* The column number in @code code.file.path @endcode best representing the operation. It SHOULD
24-
* point within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be
25-
* used on the Profile signal since the data is already captured in 'message Line'. This constraint
26-
* is imposed to prevent redundancy and maintain data integrity.
23+
The column number in @code code.file.path @endcode best representing the operation. It SHOULD
24+
point within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be
25+
used on the Profile signal since the data is already captured in 'message Line'. This constraint
26+
is imposed to prevent redundancy and maintain data integrity.
2727
*/
2828
static constexpr const char *kCodeColumnNumber = "code.column.number";
2929

3030
/**
31-
* The source code file name that identifies the code unit as uniquely as possible (preferably an
32-
* absolute file path). This attribute MUST NOT be used on the Profile signal since the data is
33-
* already captured in 'message Function'. This constraint is imposed to prevent redundancy and
34-
* maintain data integrity.
31+
The source code file name that identifies the code unit as uniquely as possible (preferably an
32+
absolute file path). This attribute MUST NOT be used on the Profile signal since the data is
33+
already captured in 'message Function'. This constraint is imposed to prevent redundancy and
34+
maintain data integrity.
3535
*/
3636
static constexpr const char *kCodeFilePath = "code.file.path";
3737

3838
/**
39-
* The method or function fully-qualified name without arguments. The value should fit the natural
40-
* representation of the language runtime, which is also likely the same used within @code
41-
* code.stacktrace @endcode attribute value. This attribute MUST NOT be used on the Profile signal
42-
* since the data is already captured in 'message Function'. This constraint is imposed to prevent
43-
* redundancy and maintain data integrity. <p> Values and format depends on each language runtime,
44-
* thus it is impossible to provide an exhaustive list of examples. The values are usually the same
45-
* (or prefixes of) the ones found in native stack trace representation stored in
46-
* @code code.stacktrace @endcode without information on arguments.
47-
* <p>
48-
* Examples:
49-
* <ul>
50-
* <li>Java method: @code com.example.MyHttpService.serveRequest @endcode</li>
51-
* <li>Java anonymous class method: @code com.mycompany.Main$1.myMethod @endcode</li>
52-
* <li>Java lambda method: @code com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod
53-
* @endcode</li> <li>PHP function: @code GuzzleHttp\Client::transfer @endcode</li> <li>Go function:
54-
* @code github.com/my/repo/pkg.foo.func5 @endcode</li> <li>Elixir: @code OpenTelemetry.Ctx.new
55-
* @endcode</li> <li>Erlang: @code opentelemetry_ctx:new @endcode</li> <li>Rust: @code
56-
* playground::my_module::my_cool_func @endcode</li> <li>C function: @code fopen @endcode</li>
57-
* </ul>
39+
The method or function fully-qualified name without arguments. The value should fit the natural
40+
representation of the language runtime, which is also likely the same used within @code
41+
code.stacktrace @endcode attribute value. This attribute MUST NOT be used on the Profile signal
42+
since the data is already captured in 'message Function'. This constraint is imposed to prevent
43+
redundancy and maintain data integrity. <p> Values and format depends on each language runtime,
44+
thus it is impossible to provide an exhaustive list of examples. The values are usually the same
45+
(or prefixes of) the ones found in native stack trace representation stored in
46+
@code code.stacktrace @endcode without information on arguments.
47+
<p>
48+
Examples:
49+
<ul>
50+
<li>Java method: @code com.example.MyHttpService.serveRequest @endcode</li>
51+
<li>Java anonymous class method: @code com.mycompany.Main$1.myMethod @endcode</li>
52+
<li>Java lambda method: @code com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod
53+
@endcode</li> <li>PHP function: @code GuzzleHttp\Client::transfer @endcode</li> <li>Go function:
54+
@code github.com/my/repo/pkg.foo.func5 @endcode</li> <li>Elixir: @code OpenTelemetry.Ctx.new
55+
@endcode</li> <li>Erlang: @code opentelemetry_ctx:new @endcode</li> <li>Rust: @code
56+
playground::my_module::my_cool_func @endcode</li> <li>C function: @code fopen @endcode</li>
57+
</ul>
5858
*/
5959
static constexpr const char *kCodeFunctionName = "code.function.name";
6060

6161
/**
62-
* The line number in @code code.file.path @endcode best representing the operation. It SHOULD point
63-
* within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be used
64-
* on the Profile signal since the data is already captured in 'message Line'. This constraint is
65-
* imposed to prevent redundancy and maintain data integrity.
62+
The line number in @code code.file.path @endcode best representing the operation. It SHOULD point
63+
within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be used
64+
on the Profile signal since the data is already captured in 'message Line'. This constraint is
65+
imposed to prevent redundancy and maintain data integrity.
6666
*/
6767
static constexpr const char *kCodeLineNumber = "code.line.number";
6868

6969
/**
70-
* A stacktrace as a string in the natural representation for the language runtime. The
71-
* representation is identical to <a
72-
* href="/docs/exceptions/exceptions-spans.md#stacktrace-representation">@code exception.stacktrace
73-
* @endcode</a>. This attribute MUST NOT be used on the Profile signal since the data is already
74-
* captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain
75-
* data integrity.
70+
A stacktrace as a string in the natural representation for the language runtime. The
71+
representation is identical to <a
72+
href="/docs/exceptions/exceptions-spans.md#stacktrace-representation">@code exception.stacktrace
73+
@endcode</a>. This attribute MUST NOT be used on the Profile signal since the data is already
74+
captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain data
75+
integrity.
7676
*/
7777
static constexpr const char *kCodeStacktrace = "code.stacktrace";
7878

0 commit comments

Comments
 (0)