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

span exporter concurrency: expand on Export() requirements #2452

Merged
merged 12 commits into from
Jun 23, 2022

Conversation

tsloughter
Copy link
Member

Fixes #2434

Changes

Additional context around what is and what isn't required of the Span Exporter Export() calls.

specification/trace/sdk.md Outdated Show resolved Hide resolved
@trask
Copy link
Member

trask commented Mar 29, 2022

Fixes #2434

Thanks!

For this to fully fix #2434, at least for Java, we also need to clarify the meaning of the batch span processor's exportTimeoutMillis. Because currently Java's batch span processor interprets exportTimeoutMillis as the amount of time to wait for the "promise" returned by the span exporter. And since this has default value of 30 seconds, the batch span processor basically forces synchronous behavior even when using an underlying async/concurrent exporter.

Similar to retries and concurrency, it seems like timeout may also be better handled by the underlying exporter (e.g. OTLP exporter already has OTEL_EXPORTER_OTLP_TIMEOUT).

This is tricky water though since batch span processor is a stable component, so definitely looking forward to more opinions here.

@tsloughter
Copy link
Member Author

@trask good point. I think the timeout still makes sense but just also needs more details. It keeps the batch processor from stalling completely due to a malfunctioning exporter.

I suppose it is the same person configuring the batch processor and the exporter so maybe it is overkill to not just require the exporter have a timeout..

@tsloughter
Copy link
Member Author

@trask have you asked anyone else in the Java SIG about why in the spec matrix it says concurrent sending is supported?

@trask
Copy link
Member

trask commented Mar 29, 2022

@trask have you asked anyone else in the Java SIG about why in the spec matrix it says concurrent sending is supported?

The Java OTLP exporters themselves supports concurrent sending (and return promises to track each export's completion). It's the batch span processor that is the problem and does the blocking before proceeding on to the next batch (because of its interpretation of exportTimeoutMillis).

@tsloughter
Copy link
Member Author

The Java OTLP exporters themselves supports concurrent sending (and return promises to track each export's completion). It's the batch span processor that is the problem and does the blocking before proceeding on to the next batch (because of its interpretation of exportTimeoutMillis).

Aah, ok.

specification/trace/sdk.md Outdated Show resolved Hide resolved
@github-actions
Copy link

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Apr 13, 2022
@reyang reyang added area:sdk Related to the SDK spec:trace Related to the specification/trace directory labels Apr 13, 2022
@github-actions
Copy link

Closed as inactive. Feel free to reopen if this PR is still being worked on.

@github-actions github-actions bot closed this Apr 23, 2022
@tsloughter
Copy link
Member Author

Ugh. Thought it would notify me again before closing since I updated it after it was marked stale...

And apparently you can't re-open PRs when closed by this bot?

Won't bother re-opening as another branch right away since there are still changes to be made but I still need more feedback to make those.

@carlosalberto carlosalberto reopened this Apr 24, 2022
@carlosalberto
Copy link
Contributor

@tsloughter Just reopened this ;)

@github-actions github-actions bot removed the Stale label Apr 25, 2022
@tsloughter
Copy link
Member Author

@carlosalberto thanks!

@github-actions
Copy link

github-actions bot commented May 3, 2022

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label May 3, 2022
@tsloughter
Copy link
Member Author

I will get this updated this week and try to get feedback on the updates related to back pressure.

@reyang
Copy link
Member

reyang commented Jun 16, 2022

@jmacd @trask would you review the latest proposal here? Thanks!

Copy link
Member

@trask trask left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@open-telemetry/java-maintainers if this is merged, would we change the OTLP exporter behaviors to match? (and going back in time, would we have changed export() to not return a promise?)

@trask
Copy link
Member

trask commented Jun 16, 2022

@open-telemetry/java-maintainers if this is merged, would we change the OTLP exporter behaviors to match? (and going back in time, would we have changed export() to not return a promise?)

to clarify, I'm supportive of this PR, I think this is the key:

Concurrent requests and retry logic is the responsibility of the exporter. The
default SDK's Span Processors SHOULD NOT implement retry logic, as the required
logic is likely to depend heavily on the specific protocol and backend the spans
are being sent to.

and given that retry logic could even include storing to disk and retrying later, which would be problematic for returning a promise anyways

owent added a commit to open-telemetry/opentelemetry-cpp that referenced this pull request Jun 17, 2022
* install sdk config (#1273)

* Bump actions/cache from 2 to 3 (#1277)

* Add owent as an Approver (#1276)

* add owent as reviewer

* fix order

* Disable benchmark action failure (#1284)

* metrics exemplar round 1 (#1264)

* [Metrics SDK] - fix spelling (AggregationTemporarily to AggregationTemporality) (#1288)

* fix compilation error with protobuf 3.5 (#1289)

* Fix span SetAttribute crash (#1283)

* Synchronous Metric collection (Delta , Cumulative) (#1265)

* Rename `http_client_curl` to `opentelemetry_http_client_curl` (#1301)

Signed-off-by: owent <admin@owent.net>

* Don't show coverage annotation for pull requests (#1304)

* Implement periodic exporting metric reader (#1286)

* Add `async-changes` branch to pull_request of github action (#1309)

Signed-off-by: owent <admin@owent.net>

* Add InstrumentationInfo and Resource to the metrics data to be exported. (#1299)

* Excempt should be applied on issue instead of PR (#1316)

* Bump codecov/codecov-action from 2.1.0 to 3 (#1318)

* Move public definitions into `opentelemetry_api`. (#1314)

Signed-off-by: owent <admin@owent.net>

* Add building test without RTTI (#1294)

* Remove implicitly deleted default constructor (#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 (#1322)

* Bump actions/stale from 4 to 5 (#1323)

* ostream metrics example (#1312)

* Prepare v1.3.0 release (#1324)

* Update yield logic for ARM processor (#1325)

* Fix for #1292 (#1326)

* Implement Merge and Diff operation for Histogram Aggregation (#1303)

* fix metrics compiler warnings (#1328)

* Replace deprecated googletest API (#1327)

* Remove redundant tail / in CMake install (#1329)

* dependencies image as artifact (#1333)

Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com>

* metrics histogram example (#1330)

* Link `opentelemetry_ext` with `opentelemetry_api` (#1336)

* ostream metrics cmake (#1344)

* prometheus exporter (#1331)

* remove exporter registration to meter provider (#1350)

* Bump github/codeql-action from 1 to 2 (#1351)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add explicit type cast in baggage UrlDecode (#1353)

* Fix scalar delete against array (#1356)

* conditional include for codecvt header (#1355)

* Add missing include guard (#1357)

* Use latest TraceLoggingDynamic.h (#1354)

* prometheus example (#1332)

* Fix output time in metrics OStream exporter (#1346)

* Simplify SDK Configuration: Use View with default aggregation if no matching View is configured (#1358)

* Fix class member initialization order (#1360)

* codecov ignore (#1364)

* export opentelemetry_otlp_recordable (#1365)

* Disable test on prometheus-cpp which not need (#1363)

* Enable metric collection for Async Instruments - Delta and Cumulative  (#1334)

* fix baggage propagation for empty/invalid baggage context (#1367)

* Fix empty tracestate header propagation (#1373)

* Bump docker/setup-qemu-action from 1 to 2 (#1375)

* Add noexcept/const qualifier at missing places for Trace API. (#1374)

* fix noxcept

* fix etw

* Bump docker/build-push-action from 2 to 3 (#1377)

* Bump docker/setup-buildx-action from 1 to 2 (#1376)

* [Metrics SDK] Remove un-necessary files. (#1379)

* reuse temporal metric storage for sync storage (#1369)

* Prometheus exporter meters and instrument name (#1378)

* Fix sharing resource in batched exported spans (#1386)

Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com>

* fix: missing link to nlohmann_json (#1390)

* Getting started document using ostream exporter (#1394)

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* Connect async storage with async instruments (#1388)

* get span_id from context when Logger::Log received invalid span_id  (#1398)

* Alpine image (#1382)

* Upgrade proto to v0.17.0, update log data model (#1383)

* Prepare v1.4.0 release (#1404)

* Fix vcpkg package name in doc (#1392)

* Document Getting Started with Prometheus and Grafana (#1396)

Co-authored-by: Lalit Kumar Bhasin <lalit_fin@yahoo.com>

* fix OTEL_INTERNAL_LOG_INFO (#1407)

* fix: WaitOnSocket select error when sockfd above FD_SETSIZE (#1410)

* [BUILD] fix nlohmann_json's (third party) include dir (#1415)

* [Metrics API/SDK] - Pass state to async callback function. (#1408)

* Copy string_view passed to ETW exporter in PropertyVariant (#1425)

* Fix ETW log exporter header inclusion (#1426)

* [Metrics SDK] Only record non-negative / finite / Non-NAN histogram values (#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 (#1420)

* Add attributes/dimensions to metrics ostream exporter (#1400)

* Log current timestamp instead of epoch time (#1434)

* install sdk-config.h (#1419)

* Fix GettingStarted documentation for Jaeger HTTP exporter (#1347) (#1439)

* fix histogram (#1440)

* Upgrade nlohmann_json to 3.10.5 (#1438) (#1441)

* Fixed broken link to OpenTelemetry.io (#1445) (#1446)

* Fix variables inizialization (#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>
owent added a commit to owent/opentelemetry-cpp that referenced this pull request Jun 17, 2022
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)
@jack-berg jack-berg self-requested a review June 17, 2022 15:02
Copy link
Member

@lalitb lalitb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving it just to vote for these changes, even though my approval doesn't count :)

tsloughter and others added 2 commits June 17, 2022 12:06
Co-authored-by: Reiley Yang <reyang@microsoft.com>
@tsloughter
Copy link
Member Author

Changelog updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:sdk Related to the SDK spec:trace Related to the specification/trace directory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Batch span processor support for multiple pending exports
10 participants