Skip to content

Commit

Permalink
[REMOVAL] Remove the jaeger exporter (#2031)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcalff committed Jul 2, 2023
1 parent 049ab63 commit 42709f4
Show file tree
Hide file tree
Showing 74 changed files with 45 additions and 8,835 deletions.
15 changes: 0 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ jobs:
CC: /usr/bin/gcc-10
CXX: /usr/bin/g++-10
run: |
sudo -E ./ci/setup_thrift.sh
./ci/do_ci.sh cmake.test
#
Expand Down Expand Up @@ -88,7 +87,6 @@ jobs:
CC: /usr/bin/gcc-12
CXX: /usr/bin/g++-12
run: |
sudo -E ./ci/setup_thrift.sh
./ci/do_ci.sh cmake.maintainer.sync.test
- name: generate test cert
env:
Expand Down Expand Up @@ -122,7 +120,6 @@ jobs:
CC: /usr/bin/gcc-12
CXX: /usr/bin/g++-12
run: |
sudo -E ./ci/setup_thrift.sh
./ci/do_ci.sh cmake.maintainer.async.test
- name: generate test cert
env:
Expand Down Expand Up @@ -156,7 +153,6 @@ jobs:
CC: /usr/bin/clang-14
CXX: /usr/bin/clang++-14
run: |
sudo -E ./ci/setup_thrift.sh
./ci/do_ci.sh cmake.maintainer.sync.test
- name: generate test cert
env:
Expand Down Expand Up @@ -190,7 +186,6 @@ jobs:
CC: /usr/bin/clang-14
CXX: /usr/bin/clang++-14
run: |
sudo -E ./ci/setup_thrift.sh
./ci/do_ci.sh cmake.maintainer.async.test
- name: generate test cert
env:
Expand Down Expand Up @@ -235,7 +230,6 @@ jobs:
CC: /usr/bin/gcc-10
CXX: /usr/bin/g++-10
run: |
sudo -E ./ci/setup_thrift.sh
./ci/do_ci.sh cmake.with_async_export.test
cmake_absel_stl_test:
Expand Down Expand Up @@ -455,7 +449,6 @@ jobs:
key: bazel_test
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -477,7 +470,6 @@ jobs:
key: bazel_test
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -499,7 +491,6 @@ jobs:
key: bazel_test
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -521,7 +512,6 @@ jobs:
key: bazel_valgrind
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -543,7 +533,6 @@ jobs:
key: bazel_noexcept
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -565,7 +554,6 @@ jobs:
key: bazel_nortti
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -587,7 +575,6 @@ jobs:
key: bazel_asan
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand All @@ -609,7 +596,6 @@ jobs:
key: bazel_tsan
- name: setup
run: |
sudo ./ci/setup_thrift.sh dependencies_only
sudo ./ci/setup_ci_environment.sh
sudo ./ci/install_bazelisk.sh
- name: run tests
Expand Down Expand Up @@ -738,7 +724,6 @@ jobs:
submodules: 'recursive'
- name: setup
run: |
./ci/setup_thrift.ps1
./ci/install_windows_bazelisk.ps1
- name: run tests
run: ./ci/do_ci.ps1 bazel.build
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,19 @@ Increment the:

## [Unreleased]

* [REMOVAL] Remove the jaeger exporter
[#2031](https://github.com/open-telemetry/opentelemetry-cpp/pull/2031)

* [API] Remove include_trace_context
[#2194](https://github.com/open-telemetry/opentelemetry-cpp/pull/2194)

Important changes:

* [REMOVAL] Remove the jaeger exporter
[#2031](https://github.com/open-telemetry/opentelemetry-cpp/pull/2031)
* The CMake `WITH_JAEGER` option has been removed
* Please remove usage of `WITH_JAEGER` from user scripts and makefiles.

## [1.9.1] 2023-05-26

* [DEPRECATION] Drop C++11 support
Expand Down
22 changes: 0 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,6 @@ option(WITH_ELASTICSEARCH

option(WITH_ZPAGES "Whether to include the Zpages Server in the SDK" OFF)

option(WITH_JAEGER "DEPRECATED - Whether to include the Jaeger exporter" OFF)

option(WITH_NO_GETENV "Whether the platform supports environment variables" OFF)

option(BUILD_TESTING "Whether to enable tests" ON)
Expand Down Expand Up @@ -295,25 +293,6 @@ function(set_target_version target_name)
endif()
endfunction()

if(WITH_JAEGER)
if(WITH_NO_DEPRECATED_CODE)
message(FATAL_ERROR "Jaeger is DEPRECATED.")
else()
message(WARNING "Jaeger is DEPRECATED.")
endif()

find_package(Thrift QUIET)
if(Thrift_FOUND)
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
else()
# Install Thrift and propagate via vcpkg toolchain file
if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE))
install_windows_deps()
endif()
endif()
endif()

if(MSVC)
# Options for Visual C++ compiler: /Zc:__cplusplus - report an updated value
# for recent C++ language standards. Without this option MSVC returns the
Expand Down Expand Up @@ -405,7 +384,6 @@ endif()

if(WITH_OTLP_HTTP
OR WITH_ELASTICSEARCH
OR WITH_JAEGER
OR WITH_ZIPKIN
OR BUILD_W3CTRACECONTEXT_TEST
OR WITH_EXAMPLES_HTTP)
Expand Down
60 changes: 22 additions & 38 deletions DEPRECATED.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,7 @@ but the C++11 build will no longer be tested for each new release.

## [Third party dependencies]

### Jaeger

See [Jaeger exporter](#jaeger-exporter)
N/A

## [Build tools]

Expand All @@ -107,15 +105,7 @@ N/A

## [opentelemetry-cpp API]

N/A

## [opentelemetry-cpp SDK]

N/A

## [opentelemetry-cpp Exporter]

### Jaeger exporter
### Jaeger propagator

#### Announcement (Jaeger)

Expand All @@ -124,50 +114,44 @@ N/A
* PR: [DEPRECATION] Deprecate the Jaeger exporter
[#1923](https://github.com/open-telemetry/opentelemetry-cpp/pull/1923)

#### Motivation (Jaeger)
This PR also listed the Jaeger propagator as deprecated.

The Jaeger client libraries are deprecated, as announced
[here](https://www.jaegertracing.io/docs/1.41/client-libraries/).
#### Motivation (Jaeger)

The initial Jaeger announcement in release 1.35 reads as:
The Jaeger Exporter is now (July 2023) removed from the OpenTelemetry specification.

"
We plan to continue accepting pull requests and making new releases of
Jaeger clients through the end of 2021. In January 2022 we will enter a code
freeze period for 6 months, during which time we will no longer accept pull
requests with new features, with the exception of security-related fixes.
After that we will archive the client library repositories and will no
longer accept new changes.
"
The Jaeger Propagator remains, because changing propagation is a longer
process compared to changing an export format.

At time of writing, Jan 2023, the client libraries have been archived 6
months ago already.
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`
* all the code located under `exporters/jaeger/`, including:
* the jaeger exporter C++ class (`JaegerExporter`)
* the related factory (`JaegerExporterFactory`)
* the related options (`JaegerExporterOptions`)
* the jaeger exporter library(`opentelemetry_exporter_jaeger_trace`)
* the jaeger build options in CMake (`WITH_JAEGER`)
* the dependency on thrift

#### Mitigation (Jaeger)

Jaeger supports natively the OTLP protocol, starting with jaeger 1.35.
Use a W3C compliant propagator instead.

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

An application instrumented with opentelemetry needs to change how the SDK
and exporter are configured to replace the Jaeger exporter with the OTLP
exporter (both OTLP HTTP and OTLP GRPC are supported).
Do not use class JaegerPropagator and "uber-trace-id" tags.

#### Planned removal (Jaeger)

* Date: July, 2023
No date set yet for the Jaeger Propagator.

## [opentelemetry-cpp SDK]

N/A

## [opentelemetry-cpp Exporter]

N/A

## [Documentation]

Expand Down
34 changes: 0 additions & 34 deletions bazel/repository.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -153,18 +153,6 @@ def opentelemetry_cpp_deps():
],
)

# libthrift (optional)
maybe(
http_archive,
name = "com_github_thrift",
build_file_content = _ALL_CONTENT,
sha256 = "5ae1c4d16452a22eaf9d802ba7489907147c2b316ff38c9758918552fae5132c",
strip_prefix = "thrift-0.14.1",
urls = [
"https://github.com/apache/thrift/archive/refs/tags/v0.14.1.tar.gz",
],
)

# rules foreign cc
maybe(
http_archive,
Expand Down Expand Up @@ -195,25 +183,3 @@ def opentelemetry_cpp_deps():
"https://github.com/opentracing/opentracing-cpp/archive/refs/tags/v1.6.0.tar.gz",
],
)

# boost headers from vcpkg
maybe(
native.new_local_repository,
name = "boost_all_hdrs",
build_file_content = """
package(default_visibility = ["//visibility:public"])
cc_library(
name = "boost_all_hdrs",
hdrs = glob(
["include/**/*.h*"],
),
strip_include_prefix = "include",
copts = [
"-isystem include",
"-fexceptions",
],
visibility = ["//visibility:public"],
)
""",
path = "tools/vcpkg/installed/x64-windows/",
)
1 change: 0 additions & 1 deletion ci/do_ci.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ switch ($action) {
cmake $SRC_DIR `
-DOTELCPP_MAINTAINER_MODE=ON `
-DWITH_NO_DEPRECATED_CODE=ON `
-DWITH_JAEGER=OFF `
-DVCPKG_TARGET_TRIPLET=x64-windows `
"-DCMAKE_TOOLCHAIN_FILE=$VCPKG_DIR/scripts/buildsystems/vcpkg.cmake"
$exit = $LASTEXITCODE
Expand Down

0 comments on commit 42709f4

Please sign in to comment.