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

fix(sdk-metrics): hand-roll MetricAdvice type as older API versions do not include it #4260

Conversation

pichlermarc
Copy link
Member

Which problem is this PR solving?

Older versions of @opentelemetry-api do not contain the MetricAdvice type. As it's used in the public interface, this type is needed at compile time. This PR hand-rolls the type again in the SDK, so that we can maintain backwards compatibility with older API versions.

In 2.0 we'll be able to bump the minimum API version and remove this workaround. Also in 2.0 InstrumentDescriptor will become an intnernal interface, so additions to it will not be part of the public interface anymore.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

  • Tested manually by compiliing with API 1.6.0

@pichlermarc pichlermarc changed the title fix(skd-metrics): hand-roll MetricAdvice type as older API versions do not include it fix(sdk-metrics): hand-roll MetricAdvice type as older API versions do not include it Nov 8, 2023
Copy link

codecov bot commented Nov 8, 2023

Codecov Report

Merging #4260 (f9a370a) into main (73b4466) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

❗ Current head f9a370a differs from pull request most recent head ffd6a98. Consider uploading reports for the commit ffd6a98 to get more accurate results

@@            Coverage Diff             @@
##             main    #4260      +/-   ##
==========================================
- Coverage   92.31%   92.30%   -0.02%     
==========================================
  Files         330      330              
  Lines        9417     9417              
  Branches     1993     1993              
==========================================
- Hits         8693     8692       -1     
- Misses        724      725       +1     
Files Coverage Δ
packages/sdk-metrics/src/InstrumentDescriptor.ts 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

@pichlermarc pichlermarc marked this pull request as ready for review November 8, 2023 11:39
@pichlermarc pichlermarc requested a review from a team November 8, 2023 11:39
@pichlermarc pichlermarc merged commit c7c1867 into open-telemetry:main Nov 8, 2023
17 checks passed
@pichlermarc pichlermarc deleted the fix/sdk-metrics-unavailable-type branch November 8, 2023 11:56
dyladan added a commit that referenced this pull request Nov 15, 2023
* chore: track package-lock.json (#4238)

* chore: track package-lock.json

* Pin to old versions for node 14

* Use version range

* Remove unused cached directories

* Temporarily disable other tests

* Temporarily enable only api test

* Enable only some packages

* Test only api packages

* Test trace exporters

* Fix line ordering

* Test all packages except otlp exporters

* Add trace http exporter

* Add trace proto exporter

* Test all but grpc exporters

* chore: use npm workspaces and degrade lerna to v6

* chore: get rid of lerna bootstrap

* chore: use npx

* chore: allow install scripts to setup buf

* chore: fix w3c-integration-test cache key

* chore: fix cache key

* chore: disable resource compat test

* chore: fix node_modules assumptions

* chore: fix hoisted karma issue

* chore: fix markdown linter complaints

* chore: lock @grpc/grpc-js to v1.8.21

* Break caches

* chore: remove cache

* chore: fixup inline commands

---------

Co-authored-by: Daniel Dyla <dyladan@users.noreply.github.com>

* docs: fixed link to benchmark results (#4233)

Co-authored-by: Chengzhong Wu <legendecas@gmail.com>

* chore(deps): update all patch versions (#4215)

* fix: otlp json encoding (#4220)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* fix: remove duplicate export star from version.ts (#4225)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* docs: fix sdk-node config instructions (#4249)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* feat(api): publish api esnext target (#4231)

* chore: release API 1.7.0/Core 1.18.0/Experimental 0.45.0 (#4254)

* fix(sdk-metrics): hand-roll MetricAdvice type as older API versions do not include it (#4260)

* chore: prepare release 1.18.1/0.45.1 (#4261)

* chore: no need for 'packages' in "lerna.json" (#4264)

* Benchmark tests for trace OTLP transform and BatchSpanProcessor (#4218)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* chore: type reference on zone.js (#4257)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* docs: add docker-compose to run prometheus for the experimental example (#4268)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* fix(sdk-logs): avoid map attribute set when count limit exceeded (#4195)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

* chore(deps): update dependency chromedriver to v119 [security] (#4280)

* chore(deps): update actions/setup-node action to v4 (#4236)

* fix(sdk-trace-base): processor onStart called with a span having empty attributes (#4277)

Co-authored-by: artahmetaj <artahmetaj@yahoo.com>

* Update fetch instrumentation to be runtime agnostic (#4063)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>

---------

Co-authored-by: Chengzhong Wu <legendecas@gmail.com>
Co-authored-by: Martin Kuba <martin@martinkuba.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Siim Kallas <siimkallas@gmail.com>
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
Co-authored-by: David Luna <david.luna@elastic.co>
Co-authored-by: Dinko Osrecki <dinko.osrecki@emarsys.com>
Co-authored-by: Trent Mick <trentm@gmail.com>
Co-authored-by: François <32224751+Lp-Francois@users.noreply.github.com>
Co-authored-by: Hyun Oh <hyunnoh01@gmail.com>
Co-authored-by: André Cruz <andremiguelcruz@msn.com>
Co-authored-by: artahmetaj <artahmetaj@yahoo.com>
Co-authored-by: drewcorlin1 <82601620+drewcorlin1@users.noreply.github.com>
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.

2 participants