* Add adaptable circular buffer implementation for ExponentialCounter and expose hooks to test its use in Exponential Histogram aggregator.
* Clean up some adapting circular buffer code.
* Fix style issues.
* Apply spotless.
* Add tests for adapting integer array.
* Finish wiring ability to remember previous integer cell size and expand testing.
* Update array copy from code review.
* Fixes/cleanups from review.
- Fix a bug in equality where it was forcing ExponentialCounter to have
the same offset, even if it had stored 0 counts in all buckets. This
interacts negatively with merge/diff tests where creating a fresh
exponential bucket would have different indexStart then diff-ing
another.
- Modify default exponential bucket counter to be adapting circular
buffer.
- Remove some not-well-though-out methods (like zeroOf, zeroFrom) in
favor of a "clear" method on ExponentialCounter
- Modify ExponentialBucketStrategy to be an actual implementation.
* Improve testing of copy behavior across exponential-counter implementations.
* Last fix/cleanup for PR. Remove remaining TODO around preserving runtime optimisations.
* Fixes from review.
* Add test to ensure 0 is returned from exponential counters outside popualted range.
* Add a bunch of extra equality tests.
* run spotless.
* Add note about equality.
* Add copy() method to AdaptingIntegerArray, update tests.
* Fix checkstyle.
* Add internal disclaimer, reduce visibility of test classes
Co-authored-by: jack-berg <jberg@newrelic.com>
* Replace OpenTelemetry with GlobalOpenTelemetry in javadoc code snippets
* use openTelemetry instread of GlobalOpenTelemetry
* replace one ome usage of GlobalOpenTelemetry
* otlp marshalers for exponential histogram
* properly write repeated uint64
* test for datapoint OTLP
* spotless
* test for exponential histogram marshaler
* fix size miscalculation upon empty repeated uint64
* change bucket marsahaller to use PrimitiveLongList
fix
* change sizze calc to use primitivelonglist
* Rework histogram benchmarks to include exponential + no-bucket.
* spotless fix.
* Fix test scenarios from review.
* Add new benchmark for startup costs of histograms, with lots of caveats.
* Fixes from review.
* Enable animal sniffer on metrics
* Use LongAdder/DoubleAdder if available
* Exclude implementation classes instead of used fields.
* keySet
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Allow configuration of preferred temporality in LoggingMetricExporter and OtlpJsonLoggingMetricExporter
* Make InMemoryMetricReader preferred temporality configurable
* Add create() methods to LoggingSpanExporter, LoggingMetricExporter, and SystemOutLogExporter, deprecate public constructors
* Let LogDataBuilder take a SpanContext directly.
* rename to setContext() based on PR review, and simplify test code.
* Update sdk/logs/src/main/java/io/opentelemetry/sdk/logs/data/LogDataBuilder.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Change EmptyAggregator to Drop Aggregator, remove @Nullable
* Add SdkMeterProvider unit test for drop aggregator
* Move EmptyMetricData to internal package
* Fix merge issue
* Add unit test for EmptyMetricData