* Simplify MetricReader
* Tighten up PR
* Restore some methods / classes and deprecate
* Revert "Restore some methods / classes and deprecate"
This reverts commit fee90e5da7.
* Start of multi-exporter codebase.
* Restore InMemoryExporter + fix javadocs.
* Quick javadoc fix
* Fix some javadoc build failures and missing things.
* Fix bug with autoconfigure
* Modify InMemoryMetricReader + register methods to allow for immutable SdkMeterProvider
- InMemoryMetricReader is now a factory + reader
- Hide register on SdkMeterProvider
- Update all tests to make sure things pass.
* Make metric-readers 'immutable' post-construction of SdkMeterProvider. Update all code around registration of readers and autoconfigure. Create new 'sdk noop' meter provider for when we have no readers configured.
* Fix integration test.
* Fix jmh benchmarks for trace.
* Fix jmh build.
* Fix broken in-memory exporter things, and Noop API issue.
* Migrate MetricReader.Factory to MetricReaderFactory.
* Rename PeriodMetricReader.Factory to PeriodicMetricReaderFactory.
* Apply suggestions from code review
Co-authored-by: John Watson <jkwatson@gmail.com>
* Minor cleanup of ColectionHandle.
* Fixes from review.
* Extract delta accumulation and add tests.
* Fragment the abstraction in SynchronousMetricStorage for better separation of responsibilities.
* Add tests (and minor optimisation) for delta metric storage.
* Add test for temporal metric storage.
* Update temporal metric storage to fix issue w/ async instruments.
* Migrate Async storage to use temporal metric storage (with better tests).
* Another fix from review.
* Remove start epoch nano parameter from storage constructors.
* Fixes from review.
* Migrate flush -> forceFlush as per review.
* Add test coverage for flush.
* Fixes from review.
* Fix public API breakage.
* Fixes from review.
* Fix threadsafe annotations
Co-authored-by: John Watson <jkwatson@gmail.com>
Co-authored-by: Anuraag Agrawal <aanuraag@amazon.co.jp>
* Update java metrics data model and create assertion based testing library.
* Update existing SDK for Label => Attribute in data model
- Finish wiring through changes to all code/tests.
- DOES NOT touch API
- Update existing tests to use new testing library to be sensitive to attribute vs. label hashing alterations + equality of the metrics.data package types.
* Fix javadoc breakages
* Fix JMH compile
* Finish javadoc
* Fixes from review
* Remove botched file.
* Fixes from review.
* Don't auto-start the IntervalMetricReader in the constructor.
* a little more protection around the possibility of double-starting the IMR
* add a test that verifies we only start once
* tweak the values to see if CI likes it better
* make the test simpler for CI
* try a little bit longer time?
* change the test to make an assertion on a passed-in scheduler.
* Migrate to using gradle platform to manage dependency versions instead of global variables.
* Remove unused and fix test
* Revert test yolo
* Workaround test ordering issue by just merging them
* Spot
* Deprecate SdkTracerManagement
* Deprecate global SDK
* Deprecate more
* Fix
* Cleanup
* Fix
* Handle test order random
* Collector removed queued_retry
* Generate the ResourceAttributes class
* deprecate the old one
* convert usages to the new one
* re-use the template with some special logic for the addition
* deprecate the old resource attributes in the wrong class
This ensure clear separation of functionality. This PR does not change any functionality, it just restructures the code to separate global functionality from
the Default implementation. Also helps to ensure that Global initialization does not happen by mistake when working only with the default implementation.
Also it helps with methods like `OpenTelemetry.get()` and `OpenTelemetry.set()` to understand they are interacting with global instance
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>