Skip to content

Commit a47ff20

Browse files
committed
Deprecation, changelog.
1 parent 975ba9c commit a47ff20

File tree

2 files changed

+97
-2
lines changed

2 files changed

+97
-2
lines changed

CHANGELOG.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ Increment the:
2121
* [API] Jaeger Propagator should not be deprecated
2222
[#3086](https://github.com/open-telemetry/opentelemetry-cpp/pull/3086)
2323

24+
* Upgrade to prometheus 1.3.0
25+
[#3122](https://github.com/open-telemetry/opentelemetry-cpp/pull/3122)
26+
27+
* [SEMANTIC CONVENTIONS] Migration to weaver
28+
[#3105](https://github.com/open-telemetry/opentelemetry-cpp/pull/3105)
29+
2430
Important changes:
2531

2632
* [API] Jaeger Propagator should not be deprecated
@@ -32,8 +38,13 @@ Important changes:
3238
as the Jaeger propagator can be used without the (now removed)
3339
Jaeger exporter.
3440

35-
* Upgrade to prometheus 1.3.0
36-
[#3122](https://github.com/open-telemetry/opentelemetry-cpp/pull/3122)
41+
* [SEMANTIC CONVENTIONS] Migration to weaver
42+
[#3105](https://github.com/open-telemetry/opentelemetry-cpp/pull/3105)
43+
44+
* `semantic_convention.h` header files are deprecated,
45+
replaced by `semconv/xxx_attributes.h` header files,
46+
for each `xxx` semantic attribute group.
47+
* See file DEPRECATED.md for details.
3748

3849
* [EXPORTER] Change log resources location for ElasticsearchLogRecordExporter
3950
[#3119](https://github.com/open-telemetry/opentelemetry-cpp/pull/3131)

DEPRECATED.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,87 @@ N/A
5959
## [Documentation]
6060

6161
N/A
62+
63+
## Semantic conventions
64+
65+
### Header files "semantic_conventions.h"
66+
67+
#### Announcement (semantic_conventions.h)
68+
69+
Deprecation is announced as part of the migration to weaver:
70+
71+
* `Version:` release following opentelemetry-cpp 1.17.0
72+
* `Date:` Nov 9, 2024
73+
* `PR:` https://github.com/open-telemetry/opentelemetry-cpp/pull/3105
74+
75+
#### Motivation (semantic_conventions.h)
76+
77+
The header files for semantic conventions are generated automatically.
78+
The tooling to generate these files is changing:
79+
80+
* before, the build-tool repository was used
81+
* now, the weaver repository is used
82+
83+
Changes in tooling allows to generate code that is better organized,
84+
with dedicated header files per group of semantic conventions,
85+
instead of a single header file for everything.
86+
87+
#### Scope (semantic_conventions.h)
88+
89+
The following files:
90+
91+
* `api/include/opentelemetry/trace/semantic_conventions.h`
92+
* `sdk/include/opentelemetry/sdk/resource/semantic_conventions.h`
93+
94+
are now deprecated.
95+
96+
They correspond to semantic conventions v1.27.0,
97+
and will no longer be maintained up to date.
98+
99+
These files will be removed in the future.
100+
101+
#### Mitigation (semantic_conventions.h)
102+
103+
Two things have changed:
104+
105+
* the header file to use
106+
* the symbol name to use.
107+
108+
Before, the semantic convention for `url.full` was:
109+
110+
* declared in file `semantic_conventions.h`
111+
* declared as symbol `SemanticConventions::kUrlFull`
112+
113+
Now, the `url.full` convention, which is part or the `url` group, is:
114+
115+
* declared in file `semconv/url_attributes.h`
116+
* declared as symbol `semconv::url::kUrlFull`
117+
118+
Application code that uses semantic conventions must be adjusted
119+
accordingly.
120+
121+
In addition, semantic conventions that are not marked as stable
122+
are generated in a different header file, placed under directory
123+
`incubating`, to better separate stable and non stable code.
124+
125+
For example, file `semconv/incubating/url_attributes.h`
126+
defines `semconv::url::kUrlDomain`,
127+
which is not marked as stable in semconv v1.27.0
128+
129+
#### Planned removal (semantic_conventions.h)
130+
131+
The following files:
132+
133+
* `api/include/opentelemetry/trace/semantic_conventions.h`
134+
* `sdk/include/opentelemetry/sdk/resource/semantic_conventions.h`
135+
136+
will be eventually removed.
137+
138+
No date is given now, this can happen at the earliest for release 1.19.0:
139+
140+
* opentelemetry-cpp v1.17.0 only contain old header files
141+
* opentelemetry-cpp v1.18.0 will contain both old and new header files
142+
* opentelemetry-cpp v1.19.0 may only contain new header files (removing old)
143+
144+
This allows a full release cycle for applications to adjust.
145+

0 commit comments

Comments
 (0)