OpenTelemetry C++ v1.8.0
v1.8.0 release
Release of core packages
- opentelemetry-api
- opentelemetry-sdk
and exporter packages:
- opentelemetry-exporter-otlp (gRPC + HTTP/JSON)
- opentelemetry-exporter-etw
- opentelemetry-exporter-prometheus
API
- No API change
SDK
Exporter
- [ETW Exporter] Fix span timestamp(s) precision to nanoseconds by @lalitb in #1726
- [Prometheus Exporter] add fix for prometheus exporter build by @rochaudhari in #1795
- Fix session lock of
OtlpHttpClient
by @owent in #1760 - Add status code to OTLP grpc trace log by @ThomsonTan in #1792
Build
- Multiple CURL packages leads to invalid build (#1738) by @marcalff in #1739
- Bring your own dependency: opentelemetry-proto by @marcalff in #1730
- bump to gRPC v1.48.1 for bazel CIs by @esigo in #1786
- Fix clang-format in CI by @marcalff in #1796
- Fix CI build by @marcalff in #1798
- Fix CI benchmark by @marcalff in #1799
- Add option WITH_BENCHMARK to disable building benchmarks by @ThomsonTan in #1794
- Upgrade bazel build to use abseil-cpp-20220623.1 by @marcalff in #1779
- Fix benchmark CI by @esigo in #1808
- Bump abseil-cpp for cmake CI by @esigo in #1807
Metrics
- Remove old metric from GitHub CI by @lalitb in #1733
- Cleanup of old _metric api/sdk by @esigo in #1734
- Cleanup ENABLE_METRICS_PREVIEW by @esigo in #1735
- Change Prometheus CMake target name by @lalitb in #1765
- Add MeterContext::ForEachMeter() method to process callbacks on Meter in thread-safe manner by @lalitb in #1783
Logs
- LogProcessor, LogExporter changes by @owent in #1727
- LogProcessor, LogExporter class name by @esigo in #1736
Sementic Convention
- [SEMANTIC CONVENTIONS] Upgrade to version 1.15.0 by @marcalff in #1761
- [Deprecation] Deprecate experimental semantic conventions (#1742) by @marcalff in #1744
Documentation
- Update Metrics status in README.md by @lalitb in #1722
- Remove misleading comments about ABI compatibility for nostd::span by @marcalff in #1731
- Cleanup ENABLE_METRICS_PREVIEW by @marcalff in #1745
- Format config options in OTLP exporter readme by @ThomsonTan in #1748
- Cleanup INSTALL.md by @ThomsonTan in #1757
- Document that clang-format version 10.0 is used. by @marcalff in #1782
New Contributors
- @rochaudhari made their first contribution in #1795
Full Changelog: v1.7.0...v1.8.0
Notes:
Deprecation notes:
- [Deprecation] Deprecate experimental semantic conventions
#1744-
The file
api/include/opentelemetry/trace/experimental_semantic_conventions.h
is deprecated, and will be removed in a future release.
Use file
api/include/opentelemetry/trace/semantic_conventions.h
instead. -
The file
sdk/include/opentelemetry/sdk/resource/experimental_semantic_conventions.h
is deprecated, and will be removed in a future release.
Use file
sdk/include/opentelemetry/sdk/resource/semantic_conventions.h
instead. -
The function, declared in the global namespace
uint32_t hashCode(const char *str, uint32_t h = 0)
is deprecated, and will be removed in a future release.
No replacement will be provided.
Note that functionopentelemetry::utils::hashCode
,
declared in the ETW exporter, is not affected by this deprecation.
-
Breaking changes:
- [SEMANTIC CONVENTIONS] Upgrade to version 1.15.0
#1761- Naming of semantic conventions has changed from uppercase constants,
likeSemanticConventions::SERVICE_NAME
,
to camel case, likeSemanticConventions::kServiceName
.
This is necessary to avoid collisions with macros in general,
which breaks the build on some platforms. - Semantic conventions are flagged as experimental,
which is why this change is done in this release.
- Naming of semantic conventions has changed from uppercase constants,
- [METRICS] Old metrics implementation including API, SDK and Exporters removed.