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

Adds Aggregation and instruments as part of Metrics SDK #2234

Merged
merged 49 commits into from
Nov 18, 2021

Conversation

ocelotl
Copy link
Contributor

@ocelotl ocelotl commented Oct 22, 2021

Merge #2227 first.

Fixes #2229

@ocelotl ocelotl self-assigned this Oct 22, 2021
@ocelotl ocelotl requested a review from a team October 22, 2021 15:21
tox.ini Outdated Show resolved Hide resolved
@lzchen lzchen changed the title Adds Aggregation Adds Aggregation and instruments as part of Metrics SDK Oct 22, 2021
@ocelotl ocelotl force-pushed the issue_2229 branch 2 times, most recently from 4304300 to 19c9cf7 Compare October 25, 2021 12:32
@ocelotl ocelotl force-pushed the issue_2229 branch 2 times, most recently from d65159b to 29a3408 Compare October 28, 2021 11:39
@ocelotl ocelotl force-pushed the issue_2229 branch 3 times, most recently from 75078b1 to f5a9da3 Compare November 15, 2021 03:07
ocelotl and others added 5 commits November 14, 2021 21:08
* Adds metric prototype

Fixes open-telemetry#1835

* Fix docs

* Add API metrics doc

* Add missing docs

* Add files

* Adding docs

* Refactor to _initialize

* Refactor initialize

* Add more documentation

* Add exporter test

* Add process

* Fix tests

* Try to add aggregator_class argument

Tests are failing here

* Fix instrument parent classes

* Test default aggregator

* WIP

* Add prototype test

* Tests passing again

* Use right counters

* All tests passing

* Rearrange instrument storage

* Fix tests

* Add HTTP server test

* WIP

* WIP

* Add prototype

* WIP

* Fail the test

* WIP

* WIP

* WIP

* WIP

* Add views

* Discard instruments via views

* Fix tests

* WIP

* WIP

* Fix lint

* WIP

* Fix test

* Fix lint

* Fix method

* Fix lint

* Mypy workaround

* Skip if 3.6

* Fix lint

* Add reason

* Fix 3.6

* Fix run

* Fix lint

* Remove SDK metrics

* Remove SDK docs

* Remove metrics

* Remove assertnotraises mixin

* Revert sdk docs conf

* Remove SDK env var changes

* Fix unit checking

* Define positional-only arguments

* Add Metrics plans

* Add API tests

* WIP

* WIP test

* WIP

* WIP

* WIP

* Set provider test passing

* Use a fixture

* Add test for get_provider

* Rename tests

* WIP

* WIP

* WIP

* WIP

* Remove non specific requirement

* Add meter requirements

* Put all meter provider tests in one file

* Add meter tests

* Make attributes be passed as a dictionary

* Make some interfaces private

* Log an error instead

* Remove ASCII flag

* Add CHANGELOG entry

* Add instrument tests

* All tests passing

* Add test

* Add name tests

* Add unit tests

* Add description tests

* Add counter tests

* Add more tests

* Add Histogram tests

* Add observable gauge tests

* Add updowncounter tests

* Add observableupdowncounter tests

* Fix lint

* Fix docs

* Fix lint

* Ignore mypy

* Remove useless pylint skip

* Remove useless pylint skip

* Remove useless pylint skip

* Remove useless pylint skip

* Remove useless pylint skip

* Add locks to meter and meterprovider

* Add lock to instruments

* Fix fixmes

* Fix lint

* Add documentation placeholder

* Remove blank line as requested.

* Do not override Rlock

* Remove unecessary super calls

* Add missing super calls

* Remove plan files

* Add missing parameters

* Rename observe to callback

* Fix lint

* Rename to secure_instrument_name

* Remove locks

* Fix lint

* Remove args and kwargs

* Remove implementation that gives meters access to meter provider

* Allow creating async instruments with either a callback function or generator

* add additional test with callback form of observable counter

* add a test/example that reads measurements from proc stat

* implement cpu time integration test with generator too

Co-authored-by: Aaron Abbott <[email protected]>
* Make Measurement a concrete class

* comments

* update changelog
@aabmass aabmass added the Approve Public API check This label shows that the public symbols added or changed in a PR are strictly necessary label Nov 16, 2021
@ocelotl ocelotl requested a review from aabmass November 16, 2021 23:22
Copy link
Member

@aabmass aabmass left a comment

Choose a reason for hiding this comment

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

Blocking to remove opentelemetry-proto dependency, otherwise we can merge this

opentelemetry-sdk/setup.cfg Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
Co-authored-by: Srikanth Chekuri <[email protected]>
@ocelotl ocelotl merged commit 1f85268 into open-telemetry:main Nov 18, 2021
@ocelotl ocelotl deleted the issue_2229 branch November 18, 2021 06:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approve Public API check This label shows that the public symbols added or changed in a PR are strictly necessary metrics
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Aggregation to the metrics SDK
5 participants