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

Merge main into async changes #1411

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
e072daa
install sdk config (#1273)
esigo Mar 21, 2022
6ec1b59
Bump actions/cache from 2 to 3 (#1277)
dependabot[bot] Mar 22, 2022
b5155a5
Add owent as an Approver (#1276)
lalitb Mar 23, 2022
0c9aece
Disable benchmark action failure (#1284)
esigo Mar 24, 2022
3c7b44b
metrics exemplar round 1 (#1264)
esigo Mar 24, 2022
2c9ce39
[Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTe…
lalitb Mar 24, 2022
91b0572
fix compilation error with protobuf 3.5 (#1289)
esigo Mar 25, 2022
c1b9590
Fix span SetAttribute crash (#1283)
esigo Mar 26, 2022
a7e814a
Synchronous Metric collection (Delta , Cumulative) (#1265)
lalitb Mar 30, 2022
76c664a
Rename `http_client_curl` to `opentelemetry_http_client_curl` (#1301)
owent Mar 31, 2022
2034c9b
Don't show coverage annotation for pull requests (#1304)
ThomsonTan Apr 1, 2022
33d9c62
Implement periodic exporting metric reader (#1286)
lalitb Apr 1, 2022
48a4060
Add `async-changes` branch to pull_request of github action (#1309)
owent Apr 4, 2022
be75bbc
Add InstrumentationInfo and Resource to the metrics data to be export…
lalitb Apr 4, 2022
237a0b2
Excempt should be applied on issue instead of PR (#1316)
ThomsonTan Apr 5, 2022
fd338cc
Bump codecov/codecov-action from 2.1.0 to 3 (#1318)
dependabot[bot] Apr 6, 2022
74ec691
Move public definitions into `opentelemetry_api`. (#1314)
owent Apr 7, 2022
6b87300
Add building test without RTTI (#1294)
owent Apr 7, 2022
3122254
Remove implicitly deleted default constructor (#1267)
benlandrum Apr 7, 2022
d72dcb6
[ETW Exporter] - ETW provider handle cleanup (#1322)
lalitb Apr 11, 2022
e200c1f
Bump actions/stale from 4 to 5 (#1323)
dependabot[bot] Apr 11, 2022
755f109
ostream metrics example (#1312)
esigo Apr 12, 2022
da2911c
Prepare v1.3.0 release (#1324)
ThomsonTan Apr 12, 2022
75c2a8f
Update yield logic for ARM processor (#1325)
lalitb Apr 12, 2022
e7f051e
Fix for #1292 (#1326)
juandemanjon Apr 14, 2022
29d68f1
Implement Merge and Diff operation for Histogram Aggregation (#1303)
lalitb Apr 14, 2022
e3304d7
fix metrics compiler warnings (#1328)
esigo Apr 15, 2022
defdfd2
Replace deprecated googletest API (#1327)
ThomsonTan Apr 15, 2022
2e9b7a1
Remove redundant tail / in CMake install (#1329)
ThomsonTan Apr 16, 2022
1d2cd42
dependencies image as artifact (#1333)
esigo Apr 18, 2022
b33dd09
metrics histogram example (#1330)
esigo Apr 18, 2022
7fde3bc
Link `opentelemetry_ext` with `opentelemetry_api` (#1336)
owent Apr 21, 2022
bf8f433
ostream metrics cmake (#1344)
esigo Apr 21, 2022
e6fb935
prometheus exporter (#1331)
esigo Apr 25, 2022
0c74e0b
remove exporter registration to meter provider (#1350)
lalitb Apr 25, 2022
33cb827
Bump github/codeql-action from 1 to 2 (#1351)
dependabot[bot] Apr 26, 2022
c917bed
Add explicit type cast in baggage UrlDecode (#1353)
ThomsonTan Apr 26, 2022
e233791
Fix scalar delete against array (#1356)
ThomsonTan Apr 27, 2022
3b9bfd4
conditional include for codecvt header (#1355)
lalitb Apr 27, 2022
72360b4
Add missing include guard (#1357)
yzsolt Apr 27, 2022
4008da5
Use latest TraceLoggingDynamic.h (#1354)
lalitb Apr 27, 2022
a4bd3b0
prometheus example (#1332)
esigo Apr 28, 2022
3a4a3a3
Fix output time in metrics OStream exporter (#1346)
ThomsonTan Apr 28, 2022
f314522
Simplify SDK Configuration: Use View with default aggregation if no m…
lalitb Apr 30, 2022
8ef6764
Fix class member initialization order (#1360)
lalitb Apr 30, 2022
c8bd431
codecov ignore (#1364)
esigo Apr 30, 2022
c1e6e16
export opentelemetry_otlp_recordable (#1365)
esigo May 2, 2022
13ac5c3
Disable test on prometheus-cpp which not need (#1363)
ThomsonTan May 2, 2022
9c734b3
Enable metric collection for Async Instruments - Delta and Cumulative…
lalitb May 3, 2022
59a48c1
fix baggage propagation for empty/invalid baggage context (#1367)
lalitb May 4, 2022
d3c4200
Fix empty tracestate header propagation (#1373)
yzsolt May 5, 2022
5458dde
Bump docker/setup-qemu-action from 1 to 2 (#1375)
dependabot[bot] May 6, 2022
99a72e1
Add noexcept/const qualifier at missing places for Trace API. (#1374)
lalitb May 6, 2022
a0d4a72
Bump docker/build-push-action from 2 to 3 (#1377)
dependabot[bot] May 6, 2022
0d27a43
Bump docker/setup-buildx-action from 1 to 2 (#1376)
dependabot[bot] May 6, 2022
02630e0
[Metrics SDK] Remove un-necessary files. (#1379)
lalitb May 7, 2022
54abc27
reuse temporal metric storage for sync storage (#1369)
lalitb May 9, 2022
95effbd
Prometheus exporter meters and instrument name (#1378)
esigo May 10, 2022
88e23ad
Fix sharing resource in batched exported spans (#1386)
ThomsonTan May 11, 2022
4b69a10
fix: missing link to nlohmann_json (#1390)
leodido May 13, 2022
3fd5ca3
Getting started document using ostream exporter (#1394)
esigo May 16, 2022
45f0235
Connect async storage with async instruments (#1388)
lalitb May 16, 2022
e11cc62
get span_id from context when Logger::Log received invalid span_id (…
hamedprog May 16, 2022
1e25d58
Alpine image (#1382)
esigo May 16, 2022
280f546
Upgrade proto to v0.17.0, update log data model (#1383)
owent May 17, 2022
09b92af
Prepare v1.4.0 release (#1404)
ThomsonTan May 18, 2022
ab084ec
Fix vcpkg package name in doc (#1392)
ThomsonTan May 18, 2022
a847d0c
Document Getting Started with Prometheus and Grafana (#1396)
esigo May 18, 2022
63803d1
fix OTEL_INTERNAL_LOG_INFO (#1407)
lalitb May 19, 2022
cbe1441
Merge remote-tracking branch 'opentelemetry/main' into async-changes
owent May 19, 2022
e101089
Fix new log module for `AsyncBatchLogProcessorTest`
owent May 20, 2022
85fa5fa
Fix changes of `bazel.nortti`
owent May 20, 2022
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
42 changes: 21 additions & 21 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
[submodule "third_party/prometheus-cpp"]
path = third_party/prometheus-cpp
url = https://github.com/jupp0r/prometheus-cpp
branch = master
path = third_party/prometheus-cpp
url = https://github.com/jupp0r/prometheus-cpp
branch = master

[submodule "tools/vcpkg"]
path = tools/vcpkg
url = https://github.com/Microsoft/vcpkg
branch = master
path = tools/vcpkg
url = https://github.com/Microsoft/vcpkg
branch = master

[submodule "third_party/ms-gsl"]
path = third_party/ms-gsl
url = https://github.com/microsoft/GSL
branch = master
path = third_party/ms-gsl
url = https://github.com/microsoft/GSL
branch = main

[submodule "third_party/googletest"]
path = third_party/googletest
url = https://github.com/google/googletest
branch = master
path = third_party/googletest
url = https://github.com/google/googletest
branch = main

[submodule "third_party/benchmark"]
path = third_party/benchmark
url = https://github.com/google/benchmark
branch = master
path = third_party/benchmark
url = https://github.com/google/benchmark
branch = main

[submodule "third_party/opentelemetry-proto"]
path = third_party/opentelemetry-proto
url = https://github.com/open-telemetry/opentelemetry-proto
branch = master
path = third_party/opentelemetry-proto
url = https://github.com/open-telemetry/opentelemetry-proto
branch = main

[submodule "third_party/nlohmann-json"]
path = third_party/nlohmann-json
url = https://github.com/nlohmann/json
branch = master
path = third_party/nlohmann-json
url = https://github.com/nlohmann/json
branch = master
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,62 @@ Increment the:
* [EXT] `curl::HttpClient` use `curl_multi_handle` instead of creating a thread
for every request and it's able to reuse connections now. ([#1317](https://github.com/open-telemetry/opentelemetry-cpp/pull/1317))

## [1.4.0] 2022-05-17

* [API SDK] Upgrade proto to v0.17.0, update log data model ([#1383](https://github.com/open-telemetry/opentelemetry-cpp/pull/1383))
* [BUILD] Alpine image ([#1382](https://github.com/open-telemetry/opentelemetry-cpp/pull/1382))
* [LOGS SDK] Get span_id from context when Logger::Log received invalid span_id
([#1398](https://github.com/open-telemetry/opentelemetry-cpp/pull/1398))
* [METRICS SDK] Connect async storage with async instruments ([#1388](https://github.com/open-telemetry/opentelemetry-cpp/pull/1388))
* [DOCS] Getting started document using ostream exporter ([#1394](https://github.com/open-telemetry/opentelemetry-cpp/pull/1394))
* [BUILD] Fix missing link to nlohmann_json ([#1390](https://github.com/open-telemetry/opentelemetry-cpp/pull/1390))
* [SDK] Fix sharing resource in batched exported spans ([#1386](https://github.com/open-telemetry/opentelemetry-cpp/pull/1386))
* [PROTOCOL \& LOGS] Upgrade proto to v0.17.0, update log data model ([#1383](https://github.com/open-telemetry/opentelemetry-cpp/pull/1383))
* [METRICS SDK] Remove un-necessary files. ([#1379](https://github.com/open-telemetry/opentelemetry-cpp/pull/1379))
* [EXPORTER] Prometheus exporter meters and instrument name ([#1378](https://github.com/open-telemetry/opentelemetry-cpp/pull/1378))
* [API] Add noexcept/const qualifier at missing places for Trace API. ([#1374](https://github.com/open-telemetry/opentelemetry-cpp/pull/1374))
* [SDK] Fix empty tracestate header propagation ([#1373](https://github.com/open-telemetry/opentelemetry-cpp/pull/1373))
* [METRICS SDK] Reuse temporal metric storage for sync storage ([#1369](https://github.com/open-telemetry/opentelemetry-cpp/pull/1369))
* [SDK] Fix baggage propagation for empty/invalid baggage context ([#1367](https://github.com/open-telemetry/opentelemetry-cpp/pull/1367))
* [BUILD] Export opentelemetry_otlp_recordable ([#1365](https://github.com/open-telemetry/opentelemetry-cpp/pull/1365))
* [TESTS] Disable test on prometheus-cpp which not need ([#1363](https://github.com/open-telemetry/opentelemetry-cpp/pull/1363))
* [METRICS] Fix class member initialization order ([#1360](https://github.com/open-telemetry/opentelemetry-cpp/pull/1360))
* [METRICS SDK] Simplify SDK Configuration: Use View with default aggregation if
no matching View is configured
([#1358](https://github.com/open-telemetry/opentelemetry-cpp/pull/1358))
* [BUILD] Add missing include guard ([#1357](https://github.com/open-telemetry/opentelemetry-cpp/pull/1357))
* [ETW EXPORTER] Fix scalar delete against array ([#1356](https://github.com/open-telemetry/opentelemetry-cpp/pull/1356))
* [ETW EXPORTER] Conditional include for codecvt header ([#1355](https://github.com/open-telemetry/opentelemetry-cpp/pull/1355))
* [BUILD] Use latest TraceLoggingDynamic.h ([#1354](https://github.com/open-telemetry/opentelemetry-cpp/pull/1354))
* [SDK] Add explicit type cast in baggage UrlDecode ([#1353](https://github.com/open-telemetry/opentelemetry-cpp/pull/1353))
* [METRICS SDK] Remove exporter registration to meter provider ([#1350](https://github.com/open-telemetry/opentelemetry-cpp/pull/1350))
* [METRICS SDK] Fix output time in metrics OStream exporter ([#1346](https://github.com/open-telemetry/opentelemetry-cpp/pull/1346))
* [BUILD] ostream metrics cmake ([#1344](https://github.com/open-telemetry/opentelemetry-cpp/pull/1344))
* [BUILD] Link `opentelemetry_ext` with `opentelemetry_api` ([#1336](https://github.com/open-telemetry/opentelemetry-cpp/pull/1336))
* [METRICS SDK] Enable metric collection for Async Instruments - Delta and
Cumulative
([#1334](https://github.com/open-telemetry/opentelemetry-cpp/pull/1334))
* [BUILD] Dependencies image as artifact ([#1333](https://github.com/open-telemetry/opentelemetry-cpp/pull/1333))
* [EXAMPLE] Prometheus example ([#1332](https://github.com/open-telemetry/opentelemetry-cpp/pull/1332))
* [METRICS EXPORTER] Prometheus exporter ([#1331](https://github.com/open-telemetry/opentelemetry-cpp/pull/1331))
* [METRICS] Metrics histogram example ([#1330](https://github.com/open-telemetry/opentelemetry-cpp/pull/1330))
* [TESTS] Replace deprecated googletest API ([#1327](https://github.com/open-telemetry/opentelemetry-cpp/pull/1327))
* [BUILD] Fix Ninja path ([#1326](https://github.com/open-telemetry/opentelemetry-cpp/pull/1326))
* [API] Update yield logic for ARM processor ([#1325](https://github.com/open-telemetry/opentelemetry-cpp/pull/1325))
* [BUILD] Fix metrics compiler warnings ([#1328](https://github.com/open-telemetry/opentelemetry-cpp/pull/1328))
* [METRICS SDK] Implement Merge and Diff operation for Histogram Aggregation ([#1303](https://github.com/open-telemetry/opentelemetry-cpp/pull/1303))

Notes:

While opentelemetry-cpp Logs are still in experimental stage,
[#1383](https://github.com/open-telemetry/opentelemetry-cpp/pull/1383) updated
opentelemetry-proto to 0.17.0, which includes some breaking change in the
protocol, like
[this](https://github.com/open-telemetry/opentelemetry-proto/pull/373). This
makes `name` parameter for our log API unnecessary. However, this parameter is
marked deprecated instead of being removed in this release, and it will be
removed in future release.

## [1.3.0] 2022-04-11

* [ETW EXPORTER] ETW provider handle cleanup ([#1322](https://github.com/open-telemetry/opentelemetry-cpp/pull/1322))
Expand Down
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,11 @@ if(WIN32)
option(WITH_ETW "Whether to include the ETW Exporter in the SDK" ON)
endif(WIN32)

# Do not convert deprecated message to error
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
add_compile_options(-Wno-error=deprecated-declarations)
endif()

option(
WITH_API_ONLY
"Only build the API (use as a header-only library). Overrides WITH_EXAMPLES and all options to enable exporters"
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ The C++ [OpenTelemetry](https://opentelemetry.io/) client.
| Signal | Status | Project |
| ------- | ---------------------- | ------------------------------------------------------------------------ |
| Traces | Public Release | N/A |
| Metrics | Development [1] | N/A |
| Metrics | Alpha [1] | N/A |
| Logs | Experimental [2] | N/A |

* [1]: The development of the metrics API and SDK based on new stable
specification is ongoing. The timelines would be available in release
milestone. The earlier implementation (based on old specification) can be
included in build by setting `ENABLE_METRICS_PREVIEW` preprocessor macro,
and is included under `*/_metrics/*` directory. This would be eventually
removed once the ongoing implemetation is stable.
* [1]: The metric collection pipeline is available for testing purpose. Not
ready for production. The earlier implementation (based on old
specification) can be included in build by setting
`ENABLE_METRICS_PREVIEW` preprocessor macro, and is included under
`*/_metrics/*` directory. This would be eventually removed once the
ongoing implemetation is stable.
* [2]: The current Log Signal Implementation is Experimental, and will change as
the current OpenTelemetry Log specification matures. The current
implementation can be included in build by setting `ENABLE_LOGS_PREVIEW`
Expand Down
49 changes: 49 additions & 0 deletions api/include/opentelemetry/common/macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,23 @@

#include "opentelemetry/version.h"

#if !defined(OPENTELEMETRY_LIKELY_IF) && defined(__cplusplus)
// GCC 9 has likely attribute but do not support declare it at the beginning of statement
# if defined(__has_cpp_attribute) && (defined(__clang__) || !defined(__GNUC__) || __GNUC__ > 9)
# if __has_cpp_attribute(likely)
# define OPENTELEMETRY_LIKELY_IF(...) \
if (__VA_ARGS__) \
[[likely]]
# endif
# endif
#endif
#if !defined(OPENTELEMETRY_LIKELY_IF) && (defined(__clang__) || defined(__GNUC__))
# define OPENTELEMETRY_LIKELY_IF(...) if (__builtin_expect(!!(__VA_ARGS__), true))
#endif
#ifndef OPENTELEMETRY_LIKELY_IF
# define OPENTELEMETRY_LIKELY_IF(...) if (__VA_ARGS__)
#endif

/// \brief Declare variable as maybe unused
/// usage:
/// OPENTELEMETRY_MAYBE_UNUSED int a;
Expand Down Expand Up @@ -40,3 +57,35 @@
# endif
# endif
#endif

#if defined(__cplusplus) && __cplusplus >= 201402L
# define OPENTELEMETRY_DEPRECATED [[deprecated]]
#elif defined(__clang__)
# define OPENTELEMETRY_DEPRECATED __attribute__((deprecated))
#elif defined(__GNUC__)
# define OPENTELEMETRY_DEPRECATED __attribute__((deprecated))
#elif defined(_MSC_VER)
# if _MSC_VER >= 1910 && defined(_MSVC_LANG) && _MSVC_LANG >= 201703L
# define OPENTELEMETRY_DEPRECATED [[deprecated]]
# else
# define OPENTELEMETRY_DEPRECATED __declspec(deprecated)
# endif
#else
# define OPENTELEMETRY_DEPRECATED
#endif

#if defined(__cplusplus) && __cplusplus >= 201402L
# define OPENTELEMETRY_DEPRECATED_MESSAGE(msg) [[deprecated(msg)]]
#elif defined(__clang__)
# define OPENTELEMETRY_DEPRECATED_MESSAGE(msg) __attribute__((deprecated(msg)))
#elif defined(__GNUC__)
# define OPENTELEMETRY_DEPRECATED_MESSAGE(msg) __attribute__((deprecated(msg)))
#elif defined(_MSC_VER)
# if _MSC_VER >= 1910 && defined(_MSVC_LANG) && _MSVC_LANG >= 201703L
# define OPENTELEMETRY_DEPRECATED_MESSAGE(msg) [[deprecated(msg)]]
# else
# define OPENTELEMETRY_DEPRECATED_MESSAGE(msg) __declspec(deprecated(msg))
# endif
#else
# define OPENTELEMETRY_DEPRECATED_MESSAGE(msg)
#endif
Loading