Added feature flag for asynchronous export#1295
Added feature flag for asynchronous export#1295lalitb merged 2 commits intoopen-telemetry:async-changesfrom
Conversation
|
LGTM in general, @owent may want to have a look into this, specifically the batch span/log processor part. Also, we should add a CI action to test the async feature ( e.g, add another test similar to bazel_test which builds using ENABLE_ASYNC_EXPORT macro). |
Agree, I think we can just add |
| const nostd::span<std::unique_ptr<opentelemetry::sdk::trace::Recordable>> &spans) noexcept | ||
| override; | ||
|
|
||
| #ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
Could you please also put max_concurrent_requests in OtlpHttpExporterOptions into ENABLE_ASYNC_EXPORT ? It's useless when async exporting is disabled.
| const nostd::span<std::unique_ptr<opentelemetry::sdk::logs::Recordable>> &records) noexcept | ||
| override; | ||
|
|
||
| # ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
Could you please also remove max_concurrent_requests in OtlpHttpExporterOptions and OtlpHttpLogExporterOptions when we do not decalre ENABLE_ASYNC_EXPORT ? It's useless when async exporting is disabled.
|
|
||
| option(WITH_ASYNC_EXPORT_PREVIEW "Whether enable async export" OFF) | ||
|
|
||
| if(WITH_ASYNC_EXPORT_PREVIEW) |
There was a problem hiding this comment.
We should also add INTERFACE definitions into api/CMakeLists.txt.
if(WITH_LOGS_PREVIEW)
target_compile_definitions(opentelemetry_api INTERFACE ENABLE_ASYNC_EXPORT)
endif()So that when we use optentelemetry-cpp as a cmake module(find_package(opentelemetry-cpp CONFIG)) , this definition can be auto added into all targets that direct or indirectly depend on opentelemetry-cpp.
I find there are severval missing definitions in api/CMakeLists.txt and be add by add_definitions(). All definitions should be added by target_compile_definitions(opentelemetry_api INTERFACE ...) to be expoted by cmake.
We should avoid to use add_definitions(...) unless the definitions is only used by unit tests, should I create another issue to fix it? @lalitb @ThomsonTan
| * logged in this case. */ | ||
| } | ||
| } | ||
| #ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
Should if (is_export_async_ == false) only be checked when ENABLE_ASYNC_EXPORT is defined?
| bool is_export_async = false) noexcept | ||
| : exporter_(std::move(exporter)), is_export_async_(is_export_async) | ||
| : exporter_(std::move(exporter)), | ||
| #ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
is_export_async will not be declared without ENABLE_ASYNC_EXPORT in BatchSpanProcessorOptions. I think we should keep the same behaviour with SimpleSpanProcessor and just remove is_export_async_.
| max_queue_size_(max_queue_size), | ||
| scheduled_delay_millis_(scheduled_delay_millis), | ||
| max_export_batch_size_(max_export_batch_size), | ||
| # ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
is_export_async will not be declared without ENABLE_ASYNC_EXPORT in BatchSpanProcessorOptions. I think we should also remove is_export_async_ here.
| * Determines whether the export happens asynchronously. | ||
| * Default implementation is synchronous. | ||
| */ | ||
| bool is_export_async = false; |
There was a problem hiding this comment.
Should we also remove is_export_async_ in BatchLogProcessor and BatchSpanProcessor ?
| /* Alert user of the failed export */ | ||
| } | ||
| } | ||
| # ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
Just like in SimpleSpanProcessor, if (is_export_async_ == false) should only be checked when ENABLE_ASYNC_EXPORT is defined, or we should always call sync Export.
| nostd::span<std::unique_ptr<Recordable>>(spans_arr.data(), spans_arr.size())); | ||
| NotifyCompletion(notify_force_flush, synchronization_data_); | ||
| } | ||
| #ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
Just like in SimpleSpanProcessor, if (is_export_async_ == false) should only be checked when ENABLE_ASYNC_EXPORT is defined, or we should always call sync Export.
| nostd::span<std::unique_ptr<Recordable>>(records_arr.data(), records_arr.size())); | ||
| NotifyCompletion(notify_force_flush, synchronization_data_); | ||
| } | ||
| # ifdef ENABLE_ASYNC_EXPORT |
There was a problem hiding this comment.
Just like in SimpleSpanProcessor, if (is_export_async_ == false) should only be checked when ENABLE_ASYNC_EXPORT is defined, or we should always call sync Export.
owent
left a comment
There was a problem hiding this comment.
LGTM.
The rest of the things is adding CI actions to test the async feature.(with and without)
|
Could this PR be merged? I would add max export changes once this is merged. |
|
@lalitb I think this PR can be merged right now. I'm not in @open-telemetry/cpp-approvers right now, my approval can not let the process continue. |
Good point. Yes please create a issue to fix it @owent |
Thanks, Have added you to approvers now. Seems got missed somehow. |
|
@DebajitDas - Merging this, the CI test and max_export can be added in separate PR. |
commit c484d16 Merge: 0abf162 7e90dae Author: WenTao Ou <admin@owent.net> Date: Tue Jun 7 10:57:25 2022 +0800 Merge remote-tracking branch 'opentelemetry/main' into async-changes Signed-off-by: WenTao Ou <admin@owent.net> # Conflicts: # CHANGELOG.md commit 0abf162 Merge: cd3655f 5c8f476 Author: WenTao Ou <admin@owent.net> Date: Wed May 25 12:11:04 2022 +0800 Merge remote-tracking branch 'opentelemetry/main' into merge_main_into_async-changes commit cd3655f Merge: d7b03e8 63803d1 Author: owent <admin@owent.net> Date: Fri May 20 14:28:31 2022 +0800 Merge branch 'merge_async-changes_into_main' into merge_main_into_async-changes Signed-off-by: owent <admin@owent.net> # Conflicts: # CHANGELOG.md # CMakeLists.txt # api/CMakeLists.txt # api/include/opentelemetry/common/spin_lock_mutex.h # ci/do_ci.ps1 # ci/do_ci.sh # examples/common/metrics_foo_library/foo_library.cc # examples/prometheus/prometheus.yml # exporters/otlp/test/otlp_http_log_exporter_test.cc # ext/src/http/client/curl/CMakeLists.txt commit d7b03e8 Author: WenTao Ou <admin@owent.net> Date: Fri May 20 13:25:24 2022 +0800 Merge main into async changes (open-telemetry#1411) commit 0aebd6e Author: WenTao Ou <admin@owent.net> Date: Mon May 16 23:26:41 2022 +0800 Merge main into async changes (open-telemetry#1395) commit 08a12b5 Author: WenTao Ou <admin@owent.net> Date: Thu May 12 00:51:48 2022 +0800 Cocurrency otlp http session (open-telemetry#1317) commit c614258 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Wed May 4 22:55:20 2022 +0530 Added max async export support using separate AsyncBatchSpan/LogProcessor (open-telemetry#1306) commit 465158c Author: WenTao Ou <admin@owent.net> Date: Mon Apr 25 23:48:02 2022 +0800 Merge `main` into `async-changes` (open-telemetry#1348) * install sdk config (open-telemetry#1273) * Bump actions/cache from 2 to 3 (open-telemetry#1277) * Add owent as an Approver (open-telemetry#1276) * add owent as reviewer * fix order * Disable benchmark action failure (open-telemetry#1284) * metrics exemplar round 1 (open-telemetry#1264) * [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (open-telemetry#1288) * fix compilation error with protobuf 3.5 (open-telemetry#1289) * Fix span SetAttribute crash (open-telemetry#1283) * Synchronous Metric collection (Delta , Cumulative) (open-telemetry#1265) * Rename `http_client_curl` to `opentelemetry_http_client_curl` (open-telemetry#1301) Signed-off-by: owent <admin@owent.net> * Don't show coverage annotation for pull requests (open-telemetry#1304) * Implement periodic exporting metric reader (open-telemetry#1286) * Add `async-changes` branch to pull_request of github action (open-telemetry#1309) Signed-off-by: owent <admin@owent.net> * Add InstrumentationInfo and Resource to the metrics data to be exported. (open-telemetry#1299) * Excempt should be applied on issue instead of PR (open-telemetry#1316) * Bump codecov/codecov-action from 2.1.0 to 3 (open-telemetry#1318) * Move public definitions into `opentelemetry_api`. (open-telemetry#1314) Signed-off-by: owent <admin@owent.net> * Add building test without RTTI (open-telemetry#1294) * Remove implicitly deleted default constructor (open-telemetry#1267) Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * [ETW Exporter] - ETW provider handle cleanup (open-telemetry#1322) * Bump actions/stale from 4 to 5 (open-telemetry#1323) * ostream metrics example (open-telemetry#1312) * Prepare v1.3.0 release (open-telemetry#1324) * Update yield logic for ARM processor (open-telemetry#1325) * Fix for open-telemetry#1292 (open-telemetry#1326) * Implement Merge and Diff operation for Histogram Aggregation (open-telemetry#1303) * fix metrics compiler warnings (open-telemetry#1328) * Replace deprecated googletest API (open-telemetry#1327) * Remove redundant tail / in CMake install (open-telemetry#1329) * dependencies image as artifact (open-telemetry#1333) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * metrics histogram example (open-telemetry#1330) * Link `opentelemetry_ext` with `opentelemetry_api` (open-telemetry#1336) * ostream metrics cmake (open-telemetry#1344) * Fix conflicts Signed-off-by: owent <admin@owent.net> * Using clang-format-10 to format codes(clang-format-14 has a different output) Signed-off-by: owent <admin@owent.net> Co-authored-by: Ehsan Saei <71217171+esigo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Ben Landrum <71329856+benlandrum@users.noreply.github.com> Co-authored-by: jmanjon <67091862+juandemanjon@users.noreply.github.com> commit 73f3515 Author: WenTao Ou <admin@owent.net> Date: Wed Apr 6 15:41:42 2022 +0800 Merge main into async changes (open-telemetry#1321) commit ad3bdfe Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Thu Mar 31 09:56:24 2022 +0530 Added feature flag for asynchronous export (open-telemetry#1295) commit 15e7725 Author: WenTao Ou <admin@owent.net> Date: Tue Mar 29 13:09:11 2022 +0800 Cocurrency otlp http session (open-telemetry#1281) commit 729c2f8 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Tue Mar 22 23:47:14 2022 +0530 Changing the type of callback function in Export function to std::function (open-telemetry#1278) commit 6f53da3 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Mon Mar 21 19:31:51 2022 +0530 Async callback Exporter to Processor changes (open-telemetry#1275) commit c3eaa9d Author: WenTao Ou <owentou@tencent.com> Date: Mon Mar 21 14:41:51 2022 +0800 Cocurrency otlp http session (open-telemetry#1274)
commit f357102 Author: WenTao Ou <admin@owent.net> Date: Wed Jun 15 22:40:39 2022 +0800 Merge main into async changes (open-telemetry#1451) * install sdk config (open-telemetry#1273) * Bump actions/cache from 2 to 3 (open-telemetry#1277) * Add owent as an Approver (open-telemetry#1276) * add owent as reviewer * fix order * Disable benchmark action failure (open-telemetry#1284) * metrics exemplar round 1 (open-telemetry#1264) * [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (open-telemetry#1288) * fix compilation error with protobuf 3.5 (open-telemetry#1289) * Fix span SetAttribute crash (open-telemetry#1283) * Synchronous Metric collection (Delta , Cumulative) (open-telemetry#1265) * Rename `http_client_curl` to `opentelemetry_http_client_curl` (open-telemetry#1301) Signed-off-by: owent <admin@owent.net> * Don't show coverage annotation for pull requests (open-telemetry#1304) * Implement periodic exporting metric reader (open-telemetry#1286) * Add `async-changes` branch to pull_request of github action (open-telemetry#1309) Signed-off-by: owent <admin@owent.net> * Add InstrumentationInfo and Resource to the metrics data to be exported. (open-telemetry#1299) * Excempt should be applied on issue instead of PR (open-telemetry#1316) * Bump codecov/codecov-action from 2.1.0 to 3 (open-telemetry#1318) * Move public definitions into `opentelemetry_api`. (open-telemetry#1314) Signed-off-by: owent <admin@owent.net> * Add building test without RTTI (open-telemetry#1294) * Remove implicitly deleted default constructor (open-telemetry#1267) Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * [ETW Exporter] - ETW provider handle cleanup (open-telemetry#1322) * Bump actions/stale from 4 to 5 (open-telemetry#1323) * ostream metrics example (open-telemetry#1312) * Prepare v1.3.0 release (open-telemetry#1324) * Update yield logic for ARM processor (open-telemetry#1325) * Fix for open-telemetry#1292 (open-telemetry#1326) * Implement Merge and Diff operation for Histogram Aggregation (open-telemetry#1303) * fix metrics compiler warnings (open-telemetry#1328) * Replace deprecated googletest API (open-telemetry#1327) * Remove redundant tail / in CMake install (open-telemetry#1329) * dependencies image as artifact (open-telemetry#1333) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * metrics histogram example (open-telemetry#1330) * Link `opentelemetry_ext` with `opentelemetry_api` (open-telemetry#1336) * ostream metrics cmake (open-telemetry#1344) * prometheus exporter (open-telemetry#1331) * remove exporter registration to meter provider (open-telemetry#1350) * Bump github/codeql-action from 1 to 2 (open-telemetry#1351) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add explicit type cast in baggage UrlDecode (open-telemetry#1353) * Fix scalar delete against array (open-telemetry#1356) * conditional include for codecvt header (open-telemetry#1355) * Add missing include guard (open-telemetry#1357) * Use latest TraceLoggingDynamic.h (open-telemetry#1354) * prometheus example (open-telemetry#1332) * Fix output time in metrics OStream exporter (open-telemetry#1346) * Simplify SDK Configuration: Use View with default aggregation if no matching View is configured (open-telemetry#1358) * Fix class member initialization order (open-telemetry#1360) * codecov ignore (open-telemetry#1364) * export opentelemetry_otlp_recordable (open-telemetry#1365) * Disable test on prometheus-cpp which not need (open-telemetry#1363) * Enable metric collection for Async Instruments - Delta and Cumulative (open-telemetry#1334) * fix baggage propagation for empty/invalid baggage context (open-telemetry#1367) * Fix empty tracestate header propagation (open-telemetry#1373) * Bump docker/setup-qemu-action from 1 to 2 (open-telemetry#1375) * Add noexcept/const qualifier at missing places for Trace API. (open-telemetry#1374) * fix noxcept * fix etw * Bump docker/build-push-action from 2 to 3 (open-telemetry#1377) * Bump docker/setup-buildx-action from 1 to 2 (open-telemetry#1376) * [Metrics SDK] Remove un-necessary files. (open-telemetry#1379) * reuse temporal metric storage for sync storage (open-telemetry#1369) * Prometheus exporter meters and instrument name (open-telemetry#1378) * Fix sharing resource in batched exported spans (open-telemetry#1386) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * fix: missing link to nlohmann_json (open-telemetry#1390) * Getting started document using ostream exporter (open-telemetry#1394) Co-authored-by: Reiley Yang <reyang@microsoft.com> * Connect async storage with async instruments (open-telemetry#1388) * get span_id from context when Logger::Log received invalid span_id (open-telemetry#1398) * Alpine image (open-telemetry#1382) * Upgrade proto to v0.17.0, update log data model (open-telemetry#1383) * Prepare v1.4.0 release (open-telemetry#1404) * Fix vcpkg package name in doc (open-telemetry#1392) * Document Getting Started with Prometheus and Grafana (open-telemetry#1396) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * fix OTEL_INTERNAL_LOG_INFO (open-telemetry#1407) * fix: WaitOnSocket select error when sockfd above FD_SETSIZE (open-telemetry#1410) * [BUILD] fix nlohmann_json's (third party) include dir (open-telemetry#1415) * [Metrics API/SDK] - Pass state to async callback function. (open-telemetry#1408) * Copy string_view passed to ETW exporter in PropertyVariant (open-telemetry#1425) * Fix ETW log exporter header inclusion (open-telemetry#1426) * [Metrics SDK] Only record non-negative / finite / Non-NAN histogram values (open-telemetry#1427) * validate histogram value * handle Nan * add changelog * divide by 0 error on windows * fix markdown lint * Fix global log handle symbols when using dlopen (open-telemetry#1420) * Add attributes/dimensions to metrics ostream exporter (open-telemetry#1400) * Log current timestamp instead of epoch time (open-telemetry#1434) * install sdk-config.h (open-telemetry#1419) * Fix GettingStarted documentation for Jaeger HTTP exporter (open-telemetry#1347) (open-telemetry#1439) * fix histogram (open-telemetry#1440) * Upgrade nlohmann_json to 3.10.5 (open-telemetry#1438) (open-telemetry#1441) * Fixed broken link to OpenTelemetry.io (open-telemetry#1445) (open-telemetry#1446) Co-authored-by: Ehsan Saei <71217171+esigo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Ben Landrum <71329856+benlandrum@users.noreply.github.com> Co-authored-by: jmanjon <67091862+juandemanjon@users.noreply.github.com> Co-authored-by: Zsolt Bölöny <bolony.zsolt@gmail.com> Co-authored-by: Leo Di Donato <leodidonato@gmail.com> Co-authored-by: Reiley Yang <reyang@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <labhas@microsoft.com> Co-authored-by: Hamed Mansouri <hamed0381@gmail.com> Co-authored-by: ztao <t@taozj.org> Co-authored-by: Flier Lu <flier@users.noreply.github.com> Co-authored-by: Marc Alff <marc.alff@free.fr> Co-authored-by: Marc Alff <marc.alff@oracle.com> commit d7b03e8 Author: WenTao Ou <admin@owent.net> Date: Fri May 20 13:25:24 2022 +0800 Merge main into async changes (open-telemetry#1411) commit 0aebd6e Author: WenTao Ou <admin@owent.net> Date: Mon May 16 23:26:41 2022 +0800 Merge main into async changes (open-telemetry#1395) commit 08a12b5 Author: WenTao Ou <admin@owent.net> Date: Thu May 12 00:51:48 2022 +0800 Cocurrency otlp http session (open-telemetry#1317) commit c614258 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Wed May 4 22:55:20 2022 +0530 Added max async export support using separate AsyncBatchSpan/LogProcessor (open-telemetry#1306) commit 465158c Author: WenTao Ou <admin@owent.net> Date: Mon Apr 25 23:48:02 2022 +0800 Merge `main` into `async-changes` (open-telemetry#1348) * install sdk config (open-telemetry#1273) * Bump actions/cache from 2 to 3 (open-telemetry#1277) * Add owent as an Approver (open-telemetry#1276) * add owent as reviewer * fix order * Disable benchmark action failure (open-telemetry#1284) * metrics exemplar round 1 (open-telemetry#1264) * [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (open-telemetry#1288) * fix compilation error with protobuf 3.5 (open-telemetry#1289) * Fix span SetAttribute crash (open-telemetry#1283) * Synchronous Metric collection (Delta , Cumulative) (open-telemetry#1265) * Rename `http_client_curl` to `opentelemetry_http_client_curl` (open-telemetry#1301) Signed-off-by: owent <admin@owent.net> * Don't show coverage annotation for pull requests (open-telemetry#1304) * Implement periodic exporting metric reader (open-telemetry#1286) * Add `async-changes` branch to pull_request of github action (open-telemetry#1309) Signed-off-by: owent <admin@owent.net> * Add InstrumentationInfo and Resource to the metrics data to be exported. (open-telemetry#1299) * Excempt should be applied on issue instead of PR (open-telemetry#1316) * Bump codecov/codecov-action from 2.1.0 to 3 (open-telemetry#1318) * Move public definitions into `opentelemetry_api`. (open-telemetry#1314) Signed-off-by: owent <admin@owent.net> * Add building test without RTTI (open-telemetry#1294) * Remove implicitly deleted default constructor (open-telemetry#1267) Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * [ETW Exporter] - ETW provider handle cleanup (open-telemetry#1322) * Bump actions/stale from 4 to 5 (open-telemetry#1323) * ostream metrics example (open-telemetry#1312) * Prepare v1.3.0 release (open-telemetry#1324) * Update yield logic for ARM processor (open-telemetry#1325) * Fix for open-telemetry#1292 (open-telemetry#1326) * Implement Merge and Diff operation for Histogram Aggregation (open-telemetry#1303) * fix metrics compiler warnings (open-telemetry#1328) * Replace deprecated googletest API (open-telemetry#1327) * Remove redundant tail / in CMake install (open-telemetry#1329) * dependencies image as artifact (open-telemetry#1333) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * metrics histogram example (open-telemetry#1330) * Link `opentelemetry_ext` with `opentelemetry_api` (open-telemetry#1336) * ostream metrics cmake (open-telemetry#1344) * Fix conflicts Signed-off-by: owent <admin@owent.net> * Using clang-format-10 to format codes(clang-format-14 has a different output) Signed-off-by: owent <admin@owent.net> Co-authored-by: Ehsan Saei <71217171+esigo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Ben Landrum <71329856+benlandrum@users.noreply.github.com> Co-authored-by: jmanjon <67091862+juandemanjon@users.noreply.github.com> commit 73f3515 Author: WenTao Ou <admin@owent.net> Date: Wed Apr 6 15:41:42 2022 +0800 Merge main into async changes (open-telemetry#1321) commit ad3bdfe Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Thu Mar 31 09:56:24 2022 +0530 Added feature flag for asynchronous export (open-telemetry#1295) commit 15e7725 Author: WenTao Ou <admin@owent.net> Date: Tue Mar 29 13:09:11 2022 +0800 Cocurrency otlp http session (open-telemetry#1281) commit 729c2f8 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Tue Mar 22 23:47:14 2022 +0530 Changing the type of callback function in Export function to std::function (open-telemetry#1278) commit 6f53da3 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Mon Mar 21 19:31:51 2022 +0530 Async callback Exporter to Processor changes (open-telemetry#1275) commit c3eaa9d Author: WenTao Ou <owentou@tencent.com> Date: Mon Mar 21 14:41:51 2022 +0800 Cocurrency otlp http session (open-telemetry#1274)
commit daf5091 Author: WenTao Ou <admin@owent.net> Date: Fri Jun 17 14:49:27 2022 +0800 Implement open-telemetry/opentelemetry-specification#2452 (open-telemetry#1456) * install sdk config (open-telemetry#1273) * Bump actions/cache from 2 to 3 (open-telemetry#1277) * Add owent as an Approver (open-telemetry#1276) * add owent as reviewer * fix order * Disable benchmark action failure (open-telemetry#1284) * metrics exemplar round 1 (open-telemetry#1264) * [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (open-telemetry#1288) * fix compilation error with protobuf 3.5 (open-telemetry#1289) * Fix span SetAttribute crash (open-telemetry#1283) * Synchronous Metric collection (Delta , Cumulative) (open-telemetry#1265) * Rename `http_client_curl` to `opentelemetry_http_client_curl` (open-telemetry#1301) Signed-off-by: owent <admin@owent.net> * Don't show coverage annotation for pull requests (open-telemetry#1304) * Implement periodic exporting metric reader (open-telemetry#1286) * Add `async-changes` branch to pull_request of github action (open-telemetry#1309) Signed-off-by: owent <admin@owent.net> * Add InstrumentationInfo and Resource to the metrics data to be exported. (open-telemetry#1299) * Excempt should be applied on issue instead of PR (open-telemetry#1316) * Bump codecov/codecov-action from 2.1.0 to 3 (open-telemetry#1318) * Move public definitions into `opentelemetry_api`. (open-telemetry#1314) Signed-off-by: owent <admin@owent.net> * Add building test without RTTI (open-telemetry#1294) * Remove implicitly deleted default constructor (open-telemetry#1267) Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * [ETW Exporter] - ETW provider handle cleanup (open-telemetry#1322) * Bump actions/stale from 4 to 5 (open-telemetry#1323) * ostream metrics example (open-telemetry#1312) * Prepare v1.3.0 release (open-telemetry#1324) * Update yield logic for ARM processor (open-telemetry#1325) * Fix for open-telemetry#1292 (open-telemetry#1326) * Implement Merge and Diff operation for Histogram Aggregation (open-telemetry#1303) * fix metrics compiler warnings (open-telemetry#1328) * Replace deprecated googletest API (open-telemetry#1327) * Remove redundant tail / in CMake install (open-telemetry#1329) * dependencies image as artifact (open-telemetry#1333) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * metrics histogram example (open-telemetry#1330) * Link `opentelemetry_ext` with `opentelemetry_api` (open-telemetry#1336) * ostream metrics cmake (open-telemetry#1344) * prometheus exporter (open-telemetry#1331) * remove exporter registration to meter provider (open-telemetry#1350) * Bump github/codeql-action from 1 to 2 (open-telemetry#1351) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add explicit type cast in baggage UrlDecode (open-telemetry#1353) * Fix scalar delete against array (open-telemetry#1356) * conditional include for codecvt header (open-telemetry#1355) * Add missing include guard (open-telemetry#1357) * Use latest TraceLoggingDynamic.h (open-telemetry#1354) * prometheus example (open-telemetry#1332) * Fix output time in metrics OStream exporter (open-telemetry#1346) * Simplify SDK Configuration: Use View with default aggregation if no matching View is configured (open-telemetry#1358) * Fix class member initialization order (open-telemetry#1360) * codecov ignore (open-telemetry#1364) * export opentelemetry_otlp_recordable (open-telemetry#1365) * Disable test on prometheus-cpp which not need (open-telemetry#1363) * Enable metric collection for Async Instruments - Delta and Cumulative (open-telemetry#1334) * fix baggage propagation for empty/invalid baggage context (open-telemetry#1367) * Fix empty tracestate header propagation (open-telemetry#1373) * Bump docker/setup-qemu-action from 1 to 2 (open-telemetry#1375) * Add noexcept/const qualifier at missing places for Trace API. (open-telemetry#1374) * fix noxcept * fix etw * Bump docker/build-push-action from 2 to 3 (open-telemetry#1377) * Bump docker/setup-buildx-action from 1 to 2 (open-telemetry#1376) * [Metrics SDK] Remove un-necessary files. (open-telemetry#1379) * reuse temporal metric storage for sync storage (open-telemetry#1369) * Prometheus exporter meters and instrument name (open-telemetry#1378) * Fix sharing resource in batched exported spans (open-telemetry#1386) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * fix: missing link to nlohmann_json (open-telemetry#1390) * Getting started document using ostream exporter (open-telemetry#1394) Co-authored-by: Reiley Yang <reyang@microsoft.com> * Connect async storage with async instruments (open-telemetry#1388) * get span_id from context when Logger::Log received invalid span_id (open-telemetry#1398) * Alpine image (open-telemetry#1382) * Upgrade proto to v0.17.0, update log data model (open-telemetry#1383) * Prepare v1.4.0 release (open-telemetry#1404) * Fix vcpkg package name in doc (open-telemetry#1392) * Document Getting Started with Prometheus and Grafana (open-telemetry#1396) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * fix OTEL_INTERNAL_LOG_INFO (open-telemetry#1407) * fix: WaitOnSocket select error when sockfd above FD_SETSIZE (open-telemetry#1410) * [BUILD] fix nlohmann_json's (third party) include dir (open-telemetry#1415) * [Metrics API/SDK] - Pass state to async callback function. (open-telemetry#1408) * Copy string_view passed to ETW exporter in PropertyVariant (open-telemetry#1425) * Fix ETW log exporter header inclusion (open-telemetry#1426) * [Metrics SDK] Only record non-negative / finite / Non-NAN histogram values (open-telemetry#1427) * validate histogram value * handle Nan * add changelog * divide by 0 error on windows * fix markdown lint * Fix global log handle symbols when using dlopen (open-telemetry#1420) * Add attributes/dimensions to metrics ostream exporter (open-telemetry#1400) * Log current timestamp instead of epoch time (open-telemetry#1434) * install sdk-config.h (open-telemetry#1419) * Fix GettingStarted documentation for Jaeger HTTP exporter (open-telemetry#1347) (open-telemetry#1439) * fix histogram (open-telemetry#1440) * Upgrade nlohmann_json to 3.10.5 (open-telemetry#1438) (open-telemetry#1441) * Fixed broken link to OpenTelemetry.io (open-telemetry#1445) (open-telemetry#1446) * Fix variables inizialization (open-telemetry#1430) * Remove `AsyncBatch*Processor`, implement [opentelemetry-specification#2452](open-telemetry/opentelemetry-specification#2452) Signed-off-by: WenTao Ou <admin@owent.net> * Remove invalid changelog Signed-off-by: WenTao Ou <admin@owent.net> * Fix compiling problems without `ENABLE_ASYNC_EXPORT` Signed-off-by: WenTao Ou <admin@owent.net> * Always return `ExportResult::kSuccess` Signed-off-by: WenTao Ou <admin@owent.net> Co-authored-by: Ehsan Saei <71217171+esigo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Ben Landrum <71329856+benlandrum@users.noreply.github.com> Co-authored-by: jmanjon <67091862+juandemanjon@users.noreply.github.com> Co-authored-by: Zsolt Bölöny <bolony.zsolt@gmail.com> Co-authored-by: Leo Di Donato <leodidonato@gmail.com> Co-authored-by: Reiley Yang <reyang@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <labhas@microsoft.com> Co-authored-by: Hamed Mansouri <hamed0381@gmail.com> Co-authored-by: ztao <t@taozj.org> Co-authored-by: Flier Lu <flier@users.noreply.github.com> Co-authored-by: Marc Alff <marc.alff@free.fr> Co-authored-by: Marc Alff <marc.alff@oracle.com> Co-authored-by: univisionsrl <31103417+univisionsrl@users.noreply.github.com> commit f357102 Author: WenTao Ou <admin@owent.net> Date: Wed Jun 15 22:40:39 2022 +0800 Merge main into async changes (open-telemetry#1451) * install sdk config (open-telemetry#1273) * Bump actions/cache from 2 to 3 (open-telemetry#1277) * Add owent as an Approver (open-telemetry#1276) * add owent as reviewer * fix order * Disable benchmark action failure (open-telemetry#1284) * metrics exemplar round 1 (open-telemetry#1264) * [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (open-telemetry#1288) * fix compilation error with protobuf 3.5 (open-telemetry#1289) * Fix span SetAttribute crash (open-telemetry#1283) * Synchronous Metric collection (Delta , Cumulative) (open-telemetry#1265) * Rename `http_client_curl` to `opentelemetry_http_client_curl` (open-telemetry#1301) Signed-off-by: owent <admin@owent.net> * Don't show coverage annotation for pull requests (open-telemetry#1304) * Implement periodic exporting metric reader (open-telemetry#1286) * Add `async-changes` branch to pull_request of github action (open-telemetry#1309) Signed-off-by: owent <admin@owent.net> * Add InstrumentationInfo and Resource to the metrics data to be exported. (open-telemetry#1299) * Excempt should be applied on issue instead of PR (open-telemetry#1316) * Bump codecov/codecov-action from 2.1.0 to 3 (open-telemetry#1318) * Move public definitions into `opentelemetry_api`. (open-telemetry#1314) Signed-off-by: owent <admin@owent.net> * Add building test without RTTI (open-telemetry#1294) * Remove implicitly deleted default constructor (open-telemetry#1267) Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * [ETW Exporter] - ETW provider handle cleanup (open-telemetry#1322) * Bump actions/stale from 4 to 5 (open-telemetry#1323) * ostream metrics example (open-telemetry#1312) * Prepare v1.3.0 release (open-telemetry#1324) * Update yield logic for ARM processor (open-telemetry#1325) * Fix for open-telemetry#1292 (open-telemetry#1326) * Implement Merge and Diff operation for Histogram Aggregation (open-telemetry#1303) * fix metrics compiler warnings (open-telemetry#1328) * Replace deprecated googletest API (open-telemetry#1327) * Remove redundant tail / in CMake install (open-telemetry#1329) * dependencies image as artifact (open-telemetry#1333) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * metrics histogram example (open-telemetry#1330) * Link `opentelemetry_ext` with `opentelemetry_api` (open-telemetry#1336) * ostream metrics cmake (open-telemetry#1344) * prometheus exporter (open-telemetry#1331) * remove exporter registration to meter provider (open-telemetry#1350) * Bump github/codeql-action from 1 to 2 (open-telemetry#1351) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add explicit type cast in baggage UrlDecode (open-telemetry#1353) * Fix scalar delete against array (open-telemetry#1356) * conditional include for codecvt header (open-telemetry#1355) * Add missing include guard (open-telemetry#1357) * Use latest TraceLoggingDynamic.h (open-telemetry#1354) * prometheus example (open-telemetry#1332) * Fix output time in metrics OStream exporter (open-telemetry#1346) * Simplify SDK Configuration: Use View with default aggregation if no matching View is configured (open-telemetry#1358) * Fix class member initialization order (open-telemetry#1360) * codecov ignore (open-telemetry#1364) * export opentelemetry_otlp_recordable (open-telemetry#1365) * Disable test on prometheus-cpp which not need (open-telemetry#1363) * Enable metric collection for Async Instruments - Delta and Cumulative (open-telemetry#1334) * fix baggage propagation for empty/invalid baggage context (open-telemetry#1367) * Fix empty tracestate header propagation (open-telemetry#1373) * Bump docker/setup-qemu-action from 1 to 2 (open-telemetry#1375) * Add noexcept/const qualifier at missing places for Trace API. (open-telemetry#1374) * fix noxcept * fix etw * Bump docker/build-push-action from 2 to 3 (open-telemetry#1377) * Bump docker/setup-buildx-action from 1 to 2 (open-telemetry#1376) * [Metrics SDK] Remove un-necessary files. (open-telemetry#1379) * reuse temporal metric storage for sync storage (open-telemetry#1369) * Prometheus exporter meters and instrument name (open-telemetry#1378) * Fix sharing resource in batched exported spans (open-telemetry#1386) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * fix: missing link to nlohmann_json (open-telemetry#1390) * Getting started document using ostream exporter (open-telemetry#1394) Co-authored-by: Reiley Yang <reyang@microsoft.com> * Connect async storage with async instruments (open-telemetry#1388) * get span_id from context when Logger::Log received invalid span_id (open-telemetry#1398) * Alpine image (open-telemetry#1382) * Upgrade proto to v0.17.0, update log data model (open-telemetry#1383) * Prepare v1.4.0 release (open-telemetry#1404) * Fix vcpkg package name in doc (open-telemetry#1392) * Document Getting Started with Prometheus and Grafana (open-telemetry#1396) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * fix OTEL_INTERNAL_LOG_INFO (open-telemetry#1407) * fix: WaitOnSocket select error when sockfd above FD_SETSIZE (open-telemetry#1410) * [BUILD] fix nlohmann_json's (third party) include dir (open-telemetry#1415) * [Metrics API/SDK] - Pass state to async callback function. (open-telemetry#1408) * Copy string_view passed to ETW exporter in PropertyVariant (open-telemetry#1425) * Fix ETW log exporter header inclusion (open-telemetry#1426) * [Metrics SDK] Only record non-negative / finite / Non-NAN histogram values (open-telemetry#1427) * validate histogram value * handle Nan * add changelog * divide by 0 error on windows * fix markdown lint * Fix global log handle symbols when using dlopen (open-telemetry#1420) * Add attributes/dimensions to metrics ostream exporter (open-telemetry#1400) * Log current timestamp instead of epoch time (open-telemetry#1434) * install sdk-config.h (open-telemetry#1419) * Fix GettingStarted documentation for Jaeger HTTP exporter (open-telemetry#1347) (open-telemetry#1439) * fix histogram (open-telemetry#1440) * Upgrade nlohmann_json to 3.10.5 (open-telemetry#1438) (open-telemetry#1441) * Fixed broken link to OpenTelemetry.io (open-telemetry#1445) (open-telemetry#1446) Co-authored-by: Ehsan Saei <71217171+esigo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Ben Landrum <71329856+benlandrum@users.noreply.github.com> Co-authored-by: jmanjon <67091862+juandemanjon@users.noreply.github.com> Co-authored-by: Zsolt Bölöny <bolony.zsolt@gmail.com> Co-authored-by: Leo Di Donato <leodidonato@gmail.com> Co-authored-by: Reiley Yang <reyang@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <labhas@microsoft.com> Co-authored-by: Hamed Mansouri <hamed0381@gmail.com> Co-authored-by: ztao <t@taozj.org> Co-authored-by: Flier Lu <flier@users.noreply.github.com> Co-authored-by: Marc Alff <marc.alff@free.fr> Co-authored-by: Marc Alff <marc.alff@oracle.com> commit d7b03e8 Author: WenTao Ou <admin@owent.net> Date: Fri May 20 13:25:24 2022 +0800 Merge main into async changes (open-telemetry#1411) commit 0aebd6e Author: WenTao Ou <admin@owent.net> Date: Mon May 16 23:26:41 2022 +0800 Merge main into async changes (open-telemetry#1395) commit 08a12b5 Author: WenTao Ou <admin@owent.net> Date: Thu May 12 00:51:48 2022 +0800 Cocurrency otlp http session (open-telemetry#1317) commit c614258 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Wed May 4 22:55:20 2022 +0530 Added max async export support using separate AsyncBatchSpan/LogProcessor (open-telemetry#1306) commit 465158c Author: WenTao Ou <admin@owent.net> Date: Mon Apr 25 23:48:02 2022 +0800 Merge `main` into `async-changes` (open-telemetry#1348) * install sdk config (open-telemetry#1273) * Bump actions/cache from 2 to 3 (open-telemetry#1277) * Add owent as an Approver (open-telemetry#1276) * add owent as reviewer * fix order * Disable benchmark action failure (open-telemetry#1284) * metrics exemplar round 1 (open-telemetry#1264) * [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (open-telemetry#1288) * fix compilation error with protobuf 3.5 (open-telemetry#1289) * Fix span SetAttribute crash (open-telemetry#1283) * Synchronous Metric collection (Delta , Cumulative) (open-telemetry#1265) * Rename `http_client_curl` to `opentelemetry_http_client_curl` (open-telemetry#1301) Signed-off-by: owent <admin@owent.net> * Don't show coverage annotation for pull requests (open-telemetry#1304) * Implement periodic exporting metric reader (open-telemetry#1286) * Add `async-changes` branch to pull_request of github action (open-telemetry#1309) Signed-off-by: owent <admin@owent.net> * Add InstrumentationInfo and Resource to the metrics data to be exported. (open-telemetry#1299) * Excempt should be applied on issue instead of PR (open-telemetry#1316) * Bump codecov/codecov-action from 2.1.0 to 3 (open-telemetry#1318) * Move public definitions into `opentelemetry_api`. (open-telemetry#1314) Signed-off-by: owent <admin@owent.net> * Add building test without RTTI (open-telemetry#1294) * Remove implicitly deleted default constructor (open-telemetry#1267) Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * [ETW Exporter] - ETW provider handle cleanup (open-telemetry#1322) * Bump actions/stale from 4 to 5 (open-telemetry#1323) * ostream metrics example (open-telemetry#1312) * Prepare v1.3.0 release (open-telemetry#1324) * Update yield logic for ARM processor (open-telemetry#1325) * Fix for open-telemetry#1292 (open-telemetry#1326) * Implement Merge and Diff operation for Histogram Aggregation (open-telemetry#1303) * fix metrics compiler warnings (open-telemetry#1328) * Replace deprecated googletest API (open-telemetry#1327) * Remove redundant tail / in CMake install (open-telemetry#1329) * dependencies image as artifact (open-telemetry#1333) Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> * metrics histogram example (open-telemetry#1330) * Link `opentelemetry_ext` with `opentelemetry_api` (open-telemetry#1336) * ostream metrics cmake (open-telemetry#1344) * Fix conflicts Signed-off-by: owent <admin@owent.net> * Using clang-format-10 to format codes(clang-format-14 has a different output) Signed-off-by: owent <admin@owent.net> Co-authored-by: Ehsan Saei <71217171+esigo@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com> Co-authored-by: Tom Tan <Tom.Tan@microsoft.com> Co-authored-by: Ben Landrum <71329856+benlandrum@users.noreply.github.com> Co-authored-by: jmanjon <67091862+juandemanjon@users.noreply.github.com> commit 73f3515 Author: WenTao Ou <admin@owent.net> Date: Wed Apr 6 15:41:42 2022 +0800 Merge main into async changes (open-telemetry#1321) commit ad3bdfe Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Thu Mar 31 09:56:24 2022 +0530 Added feature flag for asynchronous export (open-telemetry#1295) commit 15e7725 Author: WenTao Ou <admin@owent.net> Date: Tue Mar 29 13:09:11 2022 +0800 Cocurrency otlp http session (open-telemetry#1281) commit 729c2f8 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Tue Mar 22 23:47:14 2022 +0530 Changing the type of callback function in Export function to std::function (open-telemetry#1278) commit 6f53da3 Author: DEBAJIT DAS <85024550+DebajitDas@users.noreply.github.com> Date: Mon Mar 21 19:31:51 2022 +0530 Async callback Exporter to Processor changes (open-telemetry#1275) commit c3eaa9d Author: WenTao Ou <owentou@tencent.com> Date: Mon Mar 21 14:41:51 2022 +0800 Cocurrency otlp http session (open-telemetry#1274)
Fixes # Adds feature flag for asynchronous export.
Changes for max export and wait on async export not triggered by shutdown/force-flush are pending
Changes
Please provide a brief description of the changes here.
For significant contributions please make sure you have completed the following items:
CHANGELOG.mdupdated for non-trivial changes