Skip to content

[Metrics SDK] Move Metrics Exemplar processing behind feature flag#1710

Merged
lalitb merged 5 commits intoopen-telemetry:mainfrom
lalitb:disable-exemplar
Oct 25, 2022
Merged

[Metrics SDK] Move Metrics Exemplar processing behind feature flag#1710
lalitb merged 5 commits intoopen-telemetry:mainfrom
lalitb:disable-exemplar

Conversation

@lalitb
Copy link
Copy Markdown
Member

@lalitb lalitb commented Oct 25, 2022

Exemplar are still experimental, so exemplar processing is moved behind feature flag macro - ENABLE_METRICS_EXEMPLAR_PREVIEW. The exemplar would be processed in hot path only if the flag is enabled. The flag needs to be explicitly enabled in build script to use exemplars.

This allows us

  • to give a message to users that this functionality could change in future.
  • and achieve (slight) performance gain during measurement recording, even while using the non-sampling exemplar.

The CI tests still continue to test the full metrics functionality with feature flag enabled for both cmake and bazel.

@lalitb lalitb requested a review from a team October 25, 2022 00:43
@codecov
Copy link
Copy Markdown

codecov bot commented Oct 25, 2022

Codecov Report

Merging #1710 (3ec38ac) into main (9b8a4dc) will increase coverage by 0.02%.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1710      +/-   ##
==========================================
+ Coverage   86.31%   86.32%   +0.02%     
==========================================
  Files         169      169              
  Lines        5154     5146       -8     
==========================================
- Hits         4448     4442       -6     
+ Misses        706      704       -2     
Impacted Files Coverage Δ
...ntelemetry/sdk/metrics/state/sync_metric_storage.h 61.30% <ø> (-2.81%) ⬇️

Copy link
Copy Markdown
Member

@marcalff marcalff left a comment

Choose a reason for hiding this comment

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

Approved, see minor typo.

Comment thread CMakeLists.txt
option(WITH_LOGS_PREVIEW "Whether to build logs preview" OFF)
option(WITH_ASYNC_EXPORT_PREVIEW "Whether enable async export" OFF)
option(WITH_METRICS_EXEMPLAR_PREVIEW
"Whethere to enable exemplar within metrics" OFF)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Typo: Whether

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

And mentioned the spec status is experimental, so user will be aware of that instead of considering it as implementation gap?

Copy link
Copy Markdown
Member

@esigo esigo left a comment

Choose a reason for hiding this comment

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

LGTM
Thanks for the PR :)

@lalitb lalitb merged commit 419e2d6 into open-telemetry:main Oct 25, 2022
ays7 added a commit to ays7/opentelemetry-cpp that referenced this pull request Oct 29, 2022
…ad-local-stack

* commit '9acde87b08b225ce511fa8a20c6cba14f2921518': (36 commits)
  Prepare v1.7.0 release with Metrics API/SDK GA. (open-telemetry#1721)
  Fix: 1712 -  Validate Instrument meta data (name, unit, description) (open-telemetry#1713)
  Document libthrift 0.12.0 doesn't work with Jaeger exporter (open-telemetry#1714)
  Fix:1674, Add Monotonic Property to Sum Aggregation, and unit tests for Up Down Counter (open-telemetry#1675)
  [Metrics SDK] Move Metrics Exemplar processing behind feature flag (open-telemetry#1710)
  [Metrics API/SDK] Change Meter API/SDK to return nostd::unique_ptr for Sync Instruments (open-telemetry#1707)
  [Metrics] Switch to explicit 64 bit integers (open-telemetry#1686)
  Add metrics e2e test to asan & tsan CI (open-telemetry#1670)
  Add otlp-grpc example bazel (open-telemetry#1708)
  [Metrics SDK] Add support for Pull Metric Reader (open-telemetry#1701)
  Fix debug log of OTLP HTTP exporter and ES log exporter (open-telemetry#1703)
  [SEMANTIC CONVENTIONS] Upgrade to version 1.14.0 (open-telemetry#1697)
  Fix a potential precision loss on integer in ReservoirCellIndexFor (open-telemetry#1696)
  fix Histogram crash (open-telemetry#1685)
  Fix:1676 Segfault when short export period is used for metrics  (open-telemetry#1682)
  Add timeout support to MeterContext::ForceFlush (open-telemetry#1673)
  Add CMake OTELCPP_MAINTAINER_MODE (open-telemetry#1650)
  [DOCS] - Minor updates to OStream Metrics exporter documentation (open-telemetry#1679)
  Fix:open-telemetry#1575 API Documentation for Metrics SDK and API (open-telemetry#1678)
  Fixes open-telemetry#249 (open-telemetry#1677)
  ...
yxue pushed a commit to yxue/opentelemetry-cpp that referenced this pull request Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants