Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[API] Jaeger Propagator should not be deprecated #3086

Merged
merged 7 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@ Increment the:

## [Unreleased]

* [API] Jaeger Propagator should not be deprecated
[#3086](https://github.com/open-telemetry/opentelemetry-cpp/pull/3086)

Important changes:

* [API] Jaeger Propagator should not be deprecated
[#3086](https://github.com/open-telemetry/opentelemetry-cpp/pull/3086)

* Deprecation of the Jaeger propagator, as announced on 2023-01-31
in version 1.8.2, is now reverted.
* This deprecation turned out to be not justified,
as the Jaeger propagator can be used without the (now removed)
Jaeger exporter.

## [1.17 2024-10-07]

* [CI] Add a clang-tidy build
Expand Down
40 changes: 1 addition & 39 deletions DEPRECATED.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,45 +46,7 @@ N/A

## [opentelemetry-cpp API]

### Jaeger propagator

#### Announcement (Jaeger)

* Version: 1.8.2
* Date: 2023-01-31
* PR: [DEPRECATION] Deprecate the Jaeger exporter
[#1923](https://github.com/open-telemetry/opentelemetry-cpp/pull/1923)

This PR also listed the Jaeger propagator as deprecated.

#### Motivation (Jaeger)

The Jaeger Exporter is now (July 2023) removed from the OpenTelemetry specification.

The Jaeger Propagator remains, because changing propagation is a longer
process compared to changing an export format.

New deployments however are encouraged to use a W3C compliant propagator,
and avoid the Jaeger propagator, which is now deprecated.

#### Scope (Jaeger)

The following are deprecated and planned for removal:

* the API header `opentelemetry/trace/propagation/jaeger.h`, including:
* the C++ class `JaegerPropagator`

#### Mitigation (Jaeger)

Use a W3C compliant propagator instead.

That is, use class HttpTraceContext and "traceparent" tags.

Do not use class JaegerPropagator and "uber-trace-id" tags.

#### Planned removal (Jaeger)

No date set yet for the Jaeger Propagator.
N/A

## [opentelemetry-cpp SDK]

Expand Down
6 changes: 1 addition & 5 deletions api/include/opentelemetry/trace/propagation/jaeger.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@

#pragma once

#ifdef OPENTELEMETRY_NO_DEPRECATED_CODE
# error "header <opentelemetry/trace/propagation/jaeger.h> is deprecated."
#endif

#include "detail/hex.h"
#include "detail/string.h"
#include "opentelemetry/context/propagation/text_map_propagator.h"
Expand All @@ -21,7 +17,7 @@ namespace propagation

static const nostd::string_view kJaegerTraceHeader = "uber-trace-id";

class OPENTELEMETRY_DEPRECATED JaegerPropagator : public context::propagation::TextMapPropagator
class JaegerPropagator : public context::propagation::TextMapPropagator
{
public:
void Inject(context::propagation::TextMapCarrier &carrier,
Expand Down
16 changes: 2 additions & 14 deletions api/test/trace/propagation/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

add_subdirectory(detail)

foreach(testname http_text_format_test b3_propagation_test)
foreach(testname http_text_format_test b3_propagation_test
jaeger_propagation_test)
add_executable(${testname} "${testname}.cc")
target_link_libraries(${testname} ${GTEST_BOTH_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
Expand All @@ -12,16 +13,3 @@ foreach(testname http_text_format_test b3_propagation_test)
TEST_PREFIX trace.
TEST_LIST ${testname})
endforeach()

if(NOT WITH_NO_DEPRECATED_CODE)
foreach(testname jaeger_propagation_test)

add_executable(${testname} "${testname}.cc")
target_link_libraries(${testname} ${GTEST_BOTH_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
gtest_add_tests(
TARGET ${testname}
TEST_PREFIX trace.
TEST_LIST ${testname})
endforeach()
endif()