Skip to content
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
2 changes: 1 addition & 1 deletion .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ environment variables (for evaluation in `devcontainer.json`).

* **abseil-cpp version:**
This is the version of abseil-cpp that will be used to build protobuf, gRPC,
and opentelemetry-cpp (when WITH_ABSEIL is set).
and opentelemetry-cpp.
* Docker ARG:
`ABSEIL_CPP_VERSION`
* Host Environment Variable:
Expand Down
10 changes: 0 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,6 @@ jobs:
# sudo -E ./ci/setup_googletest.sh
# sudo -E ./ci/install_abseil.sh
# sudo -E ./ci/install_protobuf.sh
# - name: run otlp exporter tests
# env:
# CC: /usr/bin/gcc-10
# CXX: /usr/bin/g++-10
# WITH_ABSEIL: 'ON'
# CXX_STANDARD: '14'
# run: |
# sudo -E ./ci/setup_grpc.sh -m -p protobuf -p abseil-cpp
# ./ci/do_ci.sh cmake.exporter.otprotocol.test

cmake_test:
name: CMake test (prometheus, elasticsearch, zipkin)
Expand Down Expand Up @@ -528,7 +519,6 @@ jobs:
sudo -E ./ci/install_protobuf.sh
- name: run otlp exporter tests
env:
WITH_ABSEIL: 'ON'
CXX_STANDARD: '14'
run: |
sudo -E ./ci/setup_grpc.sh -m -p protobuf -p abseil-cpp
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/clang-tidy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,4 @@ jobs:
COUNT=$(grep -c "warning:" clang-tidy.log)
echo "clang-tidy reported ${COUNT} warning(s)"

# TODO: include WITH_OTLP_GRPC and WITH_ABSEIL flags.
# TODO: include WITH_OTLP_GRPC flags.
117 changes: 112 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,134 @@ Increment the:

## [Unreleased]

* [BUILD] Fix misssing exported definition for OTLP file exporter and forceflush
[#3319](https://github.com/open-telemetry/opentelemetry-cpp/pull/3319)
* [API] Remove `WITH_ABSEIL` and `HAVE_ABSEIL`
[#3318](https://github.com/open-telemetry/opentelemetry-cpp/pull/3318)

## [1.20 2025-04-01]

* [BUILD] Update opentelemetry-proto version
[#3254](https://github.com/open-telemetry/opentelemetry-cpp/pull/3254)

* [BUILD] Build break with CURL 7.29.0
[#3255](https://github.com/open-telemetry/opentelemetry-cpp/pull/3255)

* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.30.0
[#3258](https://github.com/open-telemetry/opentelemetry-cpp/pull/3258)

* [SDK] Add tracer scope configurator
[#3137](https://github.com/open-telemetry/opentelemetry-cpp/pull/3137)

* [DOC] Add document and example for sharing gRPC Client
[#3260](https://github.com/open-telemetry/opentelemetry-cpp/pull/3260)

* [SDK] Fix BatchLogRecordProcessor to instrument shutdown
[#3262](https://github.com/open-telemetry/opentelemetry-cpp/pull/3262)

* [SDK] Support OTEL_SDK_DISABLED environment variable
[#3245](https://github.com/open-telemetry/opentelemetry-cpp/pull/3245)

* [CI] OTLP in Windows builds
[#3263](https://github.com/open-telemetry/opentelemetry-cpp/pull/3263)

* [BUILD] Fixes compatibility of type_traits
[#3274](https://github.com/open-telemetry/opentelemetry-cpp/pull/3274)

* [BUILD] Fix compilation with Regex being disabled
[#3276](https://github.com/open-telemetry/opentelemetry-cpp/pull/3276)

* [EXPORTER] Support exporting event_name using OTLP Exporter
[#3277](https://github.com/open-telemetry/opentelemetry-cpp/pull/3277)

* [CI] Add FOSSA scanning workflow
[#3279](https://github.com/open-telemetry/opentelemetry-cpp/pull/3279)

* [BUILD] Adding typecast without whom c++latest build fails
[#3281](https://github.com/open-telemetry/opentelemetry-cpp/pull/3281)

* [ADMIN] Add FOSSA badges
[#3280](https://github.com/open-telemetry/opentelemetry-cpp/pull/3280)

* [BUILD] Fix compiling problems with abiv2 and MSVC
[#3284](https://github.com/open-telemetry/opentelemetry-cpp/pull/3284)

* [BUILD] Enable old behavior of CMP0092
[#3269](https://github.com/open-telemetry/opentelemetry-cpp/pull/3269)

* [SDK] Add meter scope configurator
[#3268](https://github.com/open-telemetry/opentelemetry-cpp/pull/3268)

* [DEVCONTAINER] Support customization and run as non-root user
[#3270](https://github.com/open-telemetry/opentelemetry-cpp/pull/3270)

* [ETW] Add configuration to export 64-bit integer as timestamp
[#3286](https://github.com/open-telemetry/opentelemetry-cpp/pull/3286)

* [API] Deprecate event logger
[#3285](https://github.com/open-telemetry/opentelemetry-cpp/pull/3285)

* [BUILD] Add link directory to support curl 8.12
[#3272](https://github.com/open-telemetry/opentelemetry-cpp/pull/3272)

* [API] Change the param-pack unpacking order to start from left to right
[#3296](https://github.com/open-telemetry/opentelemetry-cpp/pull/3296)

* [SDK] Implement spec: MetricFilter
[#3235](https://github.com/open-telemetry/opentelemetry-cpp/pull/3235)

* [SEMANTIC CONVENTIONS] Upgrade semantic conventions to 1.31.0
[#3297](https://github.com/open-telemetry/opentelemetry-cpp/pull/3297)

* [SDK] Add logger scope configurator
[#3282](https://github.com/open-telemetry/opentelemetry-cpp/pull/3282)

* [EXAMPLE] fix buffer overrun in the gRPC sample project
[#3304](https://github.com/open-telemetry/opentelemetry-cpp/pull/3304)

* [CI] Bump fossas/fossa-action from 1.5.0 to 1.6.0
[#3305](https://github.com/open-telemetry/opentelemetry-cpp/pull/3305)

* [TEST] fix segfault in singleton test with cmake on macos-latest
[#3316](https://github.com/open-telemetry/opentelemetry-cpp/pull/3316)

* [TEST] fix test failure with elasticsearch exporter on cxx20
[#3308](https://github.com/open-telemetry/opentelemetry-cpp/pull/3308)

* [TEST] otlp grpc exporter retry test fix
[#3311](https://github.com/open-telemetry/opentelemetry-cpp/pull/3311)

* [SDK] Use OPENTELEMETRY_EXPORT and static local variables
[#3314](https://github.com/open-telemetry/opentelemetry-cpp/pull/3314)

* [BUILD] Fix elasticsearch exporter json compatibility
[#3313](https://github.com/open-telemetry/opentelemetry-cpp/pull/3313)

* [BUILD] Fix missing exported definition for OTLP file exporter and forceflush
[#3319](https://github.com/open-telemetry/opentelemetry-cpp/pull/3319)

* [BUILD] Remove gRPC header including in OtlpGrpcClientFactory
[#3321](https://github.com/open-telemetry/opentelemetry-cpp/pull/3321)

* [ADMIN] Add Pranav Sharma in cpp-approvers
[#3323](https://github.com/open-telemetry/opentelemetry-cpp/pull/3323)

* [DEVCONTAINER] fix grpc install
[#3325](https://github.com/open-telemetry/opentelemetry-cpp/pull/3325)

* [ADMIN] Add dbarker to approvers
[#3331](https://github.com/open-telemetry/opentelemetry-cpp/pull/3331)

* [CI] Upgrade CI to ubuntu 22.04
[#3330](https://github.com/open-telemetry/opentelemetry-cpp/pull/3330)

* [CI] Add ossf-scorecard scanning workflow
[#3332](https://github.com/open-telemetry/opentelemetry-cpp/pull/3332)

* [CI] pin cmake in ci and devcontainer
[#3336](https://github.com/open-telemetry/opentelemetry-cpp/pull/3336)

* [METRICS SDK] Fix hash collision in MetricAttributes
[#3322](https://github.com/open-telemetry/opentelemetry-cpp/pull/3322)

Important changes:

* [SDK] Support OTEL_SDK_DISABLED environment variable
Expand All @@ -52,9 +162,6 @@ Important changes:

* All the example code has been updated to reflect the new usage.

* [SDK] Implement spec: MetricFilter
[#3235](https://github.com/open-telemetry/opentelemetry-cpp/pull/3235)

## [1.19 2025-01-22]

* [PROMETHEUS_EXPORTER] Fix default for emitting otel_scope attributes
Expand Down
8 changes: 2 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,6 @@ set(WITH_STL
option(WITH_GSL
"Whether to use Guidelines Support Library for C++ latest features" OFF)

option(WITH_ABSEIL "Whether to use Abseil for C++latest features" OFF)

set(OPENTELEMETRY_INSTALL_default ON)
if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(OPENTELEMETRY_INSTALL_default OFF)
Expand Down Expand Up @@ -400,10 +398,8 @@ if(WITH_PROMETHEUS)
endif()
endif()

if(WITH_ABSEIL)
if(NOT TARGET absl::strings)
find_package(absl CONFIG REQUIRED)
endif()
if(WITH_OTLP_GRPC)
find_package(absl CONFIG REQUIRED)
endif()

if(WITH_OTLP_GRPC
Expand Down
2 changes: 1 addition & 1 deletion api/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ string_flag(
cc_library(
name = "api",
hdrs = glob(["include/**/*.h"]),
defines = ["HAVE_ABSEIL"] + select({
defines = select({
":set_cxx_stdlib_none": [],
### automatic selection
":set_cxx_stdlib_best": ["OPENTELEMETRY_STL_VERSION=(__cplusplus/100)"],
Expand Down
15 changes: 0 additions & 15 deletions api/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,6 @@ if(WITH_NO_DEPRECATED_CODE)
INTERFACE OPENTELEMETRY_NO_DEPRECATED_CODE)
endif()

if(WITH_ABSEIL)
target_compile_definitions(opentelemetry_api INTERFACE HAVE_ABSEIL)
target_link_libraries(
opentelemetry_api INTERFACE absl::bad_variant_access absl::any absl::base
absl::bits absl::city)
list(
APPEND
TARGET_DEPS
"absl_bad_variant_access"
"absl_any"
"absl_base"
"absl_bits"
"absl_city")
endif()

if(WITH_STL STREQUAL "OFF")
message(STATUS "Building WITH_STL=OFF")
elseif(WITH_STL STREQUAL "CXX11")
Expand Down
32 changes: 7 additions & 25 deletions api/include/opentelemetry/nostd/variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,12 @@

#if !defined(OPENTELEMETRY_HAVE_STD_VARIANT)

# ifndef HAVE_ABSEIL
// We use a LOCAL snapshot of Abseil that is known to compile with Visual Studio 2015.
// Header-only. Without compiling the actual Abseil binary. As Abseil moves on to new
// toolchains, it may drop support for Visual Studio 2015 in future versions.

# if defined(__EXCEPTIONS)
# include <exception>
# if defined(__EXCEPTIONS)
# include <exception>
OPENTELEMETRY_BEGIN_NAMESPACE
namespace nostd
{
Expand All @@ -37,10 +36,9 @@ class bad_variant_access : public std::exception
}
} // namespace nostd
OPENTELEMETRY_END_NAMESPACE
# define THROW_BAD_VARIANT_ACCESS opentelemetry::nostd::throw_bad_variant_access()
# else
# define THROW_BAD_VARIANT_ACCESS std::terminate()
# endif
# define THROW_BAD_VARIANT_ACCESS opentelemetry::nostd::throw_bad_variant_access()
# else
# define THROW_BAD_VARIANT_ACCESS std::terminate()
# endif

# ifdef _MSC_VER
Expand All @@ -51,10 +49,7 @@ OPENTELEMETRY_END_NAMESPACE
# pragma warning(disable : 4127) // conditional expression is constant
# endif

# ifdef HAVE_ABSEIL
# include "absl/types/variant.h"
# else
# include "opentelemetry/nostd/internal/absl/base/options.h"
# include "opentelemetry/nostd/internal/absl/base/options.h"

namespace absl
{
Expand All @@ -67,8 +62,7 @@ class variant;
} // namespace OTABSL_OPTION_NAMESPACE_NAME
} // namespace absl

# include "opentelemetry/nostd/internal/absl/types/variant.h"
# endif
# include "opentelemetry/nostd/internal/absl/types/variant.h"

# ifdef _MSC_VER
# pragma warning(pop)
Expand All @@ -77,17 +71,6 @@ class variant;
OPENTELEMETRY_BEGIN_NAMESPACE
namespace nostd
{
# ifdef HAVE_ABSEIL
using absl::bad_variant_access;
using absl::get;
using absl::get_if;
using absl::holds_alternative;
using absl::monostate;
using absl::variant;
using absl::variant_alternative_t;
using absl::variant_size;
using absl::visit;
# else
using absl::OTABSL_OPTION_NAMESPACE_NAME::get;
using absl::OTABSL_OPTION_NAMESPACE_NAME::get_if;
using absl::OTABSL_OPTION_NAMESPACE_NAME::holds_alternative;
Expand All @@ -96,7 +79,6 @@ using absl::OTABSL_OPTION_NAMESPACE_NAME::variant;
using absl::OTABSL_OPTION_NAMESPACE_NAME::variant_alternative_t;
using absl::OTABSL_OPTION_NAMESPACE_NAME::variant_size;
using absl::OTABSL_OPTION_NAMESPACE_NAME::visit;
# endif
} // namespace nostd
OPENTELEMETRY_END_NAMESPACE

Expand Down
4 changes: 2 additions & 2 deletions api/include/opentelemetry/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
# define OPENTELEMETRY_ABI_VERSION_NO 1
#endif

#define OPENTELEMETRY_VERSION "1.19.0"
#define OPENTELEMETRY_VERSION "1.20.0"
#define OPENTELEMETRY_VERSION_MAJOR 1
#define OPENTELEMETRY_VERSION_MINOR 19
#define OPENTELEMETRY_VERSION_MINOR 20
#define OPENTELEMETRY_VERSION_PATCH 0

#define OPENTELEMETRY_ABI_VERSION OPENTELEMETRY_STRINGIFY(OPENTELEMETRY_ABI_VERSION_NO)
Expand Down
19 changes: 5 additions & 14 deletions cmake/opentelemetry-cpp-config.cmake.in
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0

#[[
#.rst:
# opentelemetry-cpp-config.cmake
# --------
#
# Find the native opentelemetry-cpp includes and library.
#
# Result Variables
# ^^^^^^^^^^^^^^^^
#
# This module defines the following variables:
#
# ::
#
# OPENTELEMETRY_CPP_INCLUDE_DIRS - Include directories of opentelemetry-cpp.
Expand Down Expand Up @@ -52,10 +48,9 @@
# opentelemetry-cpp::http_client_curl - Imported target of opentelemetry-cpp::http_client_curl
# opentelemetry-cpp::opentracing_shim - Imported target of opentelemetry-cpp::opentracing_shim
#

]]
# =============================================================================
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
# Copyright The OpenTelemetry Authors SPDX-License-Identifier: Apache-2.0
# =============================================================================

set(OPENTELEMETRY_ABI_VERSION_NO
Expand All @@ -73,10 +68,6 @@ include(CMakeFindDependencyMacro)

find_dependency(Threads)

if(@WITH_ABSEIL@)
find_dependency(absl)
endif()

if(@WITH_OTLP_GRPC@)
find_dependency(gRPC)
endif()
Expand All @@ -93,7 +84,7 @@ if("@Protobuf_FOUND@" OR "@PROTOBUF_FOUND@")
find_dependency(Protobuf)
endif()

if (@WITH_HTTP_CLIENT_CURL@ AND NOT @BUILD_SHARED_LIBS@)
if(@WITH_HTTP_CLIENT_CURL@ AND NOT @BUILD_SHARED_LIBS@)
if("@CURL_FOUND@")
find_dependency(CURL)
endif()
Expand All @@ -103,7 +94,7 @@ if (@WITH_HTTP_CLIENT_CURL@ AND NOT @BUILD_SHARED_LIBS@)
endif()
endif()

if(@WITH_ABSEIL@ OR @WITH_OTLP_GRPC@)
if(@WITH_OTLP_GRPC@)
find_package(absl CONFIG)
elseif(@WITH_OTLP_HTTP@ OR @WITH_OTLP_FILE@)
if("@Protobuf_VERSION@" VERSION_GREATER_EQUAL "3.22.0")
Expand Down
Loading
Loading