Commit Graph

324 Commits

Author SHA1 Message Date
jack-berg 928d112c7d
Revert histogram buckets (#4736)
* Revert "Restore prior histogram defaults (#4717)"

This reverts commit 160af1c480.

* Revert "Update bucket hist defaults to match spec (#4684)"

This reverts commit 8445642052.
2022-09-08 11:23:18 -05:00
jack-berg 160af1c480
Restore prior histogram defaults (#4717)
* Add property for configuring legacy explicit bucket histogram bucket boundaries

* Add clarifying comment

* Spotless
2022-08-25 14:41:46 -05:00
jack-berg 2bc88f45c6
Deprecate multi argument InstrumentationScopeInfo create method (#4710)
* Deprecate multi argument InstrumentationScopeInfo create method

* PR feedback
2022-08-24 13:35:31 -05:00
jason plumb 8445642052
Update bucket hist defaults to match spec (#4684)
* udpate default histogram bucket boundaries

* spotless
2022-08-24 12:59:29 -05:00
jack-berg d0c6cd4480
Extend InstrumentationScopeInfo with scope attributes (#4696)
* Extend InstrumentationScopeInfo with scope attributes

* Add InstrumentationScopeInfoBuilder
2022-08-22 12:26:54 -05:00
Bogdan Drutu b5d0d08ad8
Fix HistogramScaleBenchmark, use the right ThreadState, clarify difference (#4691)
* Fix HistogramScaleBenchmark, use the right ThreadState, clarify difference

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Update sdk/metrics/src/jmh/java/io/opentelemetry/sdk/metrics/internal/aggregator/HistogramScaleBenchmark.java

Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>

* Update HistogramScaleBenchmark.java

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2022-08-19 09:14:20 -05:00
Bogdan Drutu bb57442cbf
Remove unnecessary code from metrics sdk (#4688)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2022-08-17 11:09:15 -05:00
jack-berg 2ef73c83af
Support aggregation arguments for view file configuration (#4588)
* Support aggregation arguments for view file configuration

* Extract getBucketBoundaries function
2022-07-21 09:41:43 -05:00
jack-berg d2a8304b9b
Otlp exporter default aggregation (#4557)
* Add default aggregation selector option to OTLP metric exporters

* change compose to with
2022-07-05 10:21:04 -05:00
jack-berg 0860b3884b
MetricReader and MetricExporter can determine default aggregation by instrument (#4472)
* MetricReader and MetricExporter can determine default aggregation by instrument

* Add since annotations
2022-06-28 15:39:26 -05:00
jack-berg ccfc9ea918
Tighten up exponential histogram implementation (#4536) 2022-06-16 11:20:23 -05:00
jack-berg d9c8e709e0
Tighten up metrics sdk javadoc (#4508) 2022-06-03 13:38:53 -05:00
jason plumb 83bfb84d14
Migrate to assertj (#4512)
* migrate from junit/jupiter assertions to assertj in a few remaining places.

* reorder
2022-06-02 13:38:46 -07:00
jack-berg 4a8850cc64
Improve metrics API javadoc (#4493)
* Improve metrics API javadoc

* Fix typo

* Switch to Title Case for instrument names

* Add @since annotations
2022-05-27 10:02:02 -05:00
jack-berg de824dc93a
Add batch callback API (#4376)
* Add batch callback API

* Update API to accept varargs of instruments

* Add more tests

* Add default API implementations, more test coverage

* PR feedback
2022-05-25 12:50:09 -05:00
jack-berg f592bf54e4
Drop outdated metrics sdk readme (#4476) 2022-05-17 20:15:57 -07:00
jack-berg b98ce55cd0
Fix reporting intervals for delta readers (#4437) 2022-05-16 11:50:54 -05:00
jack-berg 8659a82583
Fix metric sdk when multiple readers are present (#4436)
* Fix metric sdk when multiple readers are present

* Merge DeltaMetricStorage into DefaultSynchronousMetricStorage
2022-05-13 12:50:13 -05:00
jack-berg 078d55abe5
Add SdkMeterProvider toString method (#4464)
* Add SdkMeterProvider toString method

* Fix build

* Ignore null values in InstrumentSelector / View #toString()
2022-05-13 11:52:04 -05:00
jack-berg bf0f6bfb16
Add experimental method to reset SdkMeterProvider (#4460) 2022-05-12 10:28:42 -05:00
jack-berg bc6be63871
Update to otlp proto 0.17.0 (#4452) 2022-05-11 09:57:45 -05:00
jack-berg e067223409
Convert tests to from :sdk:metrics-testing to :sdk:testing (#4444) 2022-05-09 09:34:09 -05:00
jack-berg d490f5b5e7
Add AggregationTemporalitySelector functional interface (#4438) 2022-05-06 10:03:14 -05:00
jack-berg 848c073231
Refactor exemplars to reduce code duplication (#4430)
* Refactor exemplars to reduce code duplication

* Add comments to ReservoirCell
2022-05-06 08:27:39 -05:00
jack-berg 605f40b940
Rename MetricReader#flush() to forceFlush() (#4439) 2022-05-06 08:26:22 -05:00
jack-berg 04617c3550
Default unit is blank instead of 1 (#4431) 2022-05-05 10:34:26 -05:00
Lauri Tulmin 0940f6405a
Revert PeriodicMetricReader logging level change (#4414) 2022-04-25 09:36:39 -07:00
jack-berg e479f15746
Add exponential histogram aggregation (#4406)
* Add ExponentialHistogramAggregation

* Rename DoubleHistogramAggregator to DoubleExplicitBucketHistogramAggregator

* PR feedback
2022-04-22 19:51:08 -05:00
Anuraag Agrawal 173a0c27fd
Have long aggregators export long exemplars (#4403)
* WIP exemplar

* Have long aggregators export long exemplars

* Fix
2022-04-22 11:18:47 +09:00
Anuraag Agrawal e999fa0d5a
Some fixes for compilation under java 18 (#4397) 2022-04-22 07:43:55 +09:00
Lauri Tulmin 8f7124495f
Decrease logging level for no metric data exported (#4405) 2022-04-21 07:53:55 -07:00
jack-berg 98369a5aad
Return noop instrument if name is invalid (#4383)
* Return noop instrument if name is invalid

* Validate instrument name in default meter

* Use API Usage logger and include stack trace

* Rename methods to check* instead of is*
2022-04-20 13:25:00 -05:00
jack-berg c2d8f6abd9
Set unit to 1 if invalid (#4384)
* Set unit to 1 if invalid

* Improve error message, validate unit in DefaultMeter calls

* Fix typos

* Include stack trace
2022-04-19 10:45:55 -05:00
jack-berg 45e278a934
Mark metrics components as stable (#4375) 2022-04-13 11:44:17 +09:00
jack-berg e7d5a97f88
OTLP metric exporter accepts aggregation temporality function (#4340)
* OTLP metric exporter accepts aggregation temporality function

* Spotless
2022-04-08 07:54:04 -05:00
Anuraag Agrawal d78cadabaa
Update errorprone (#4346) 2022-04-08 08:12:57 +09:00
jack-berg 0b94400914
Another round of log suppression (#4342)
* Another round of log suppression

* Suppress logs from HttpServerPipelineConfigurator
2022-04-07 11:00:42 -05:00
jack-berg 6692683917
Disallow aggregations for incompatible instruments (#4338)
* Disallow aggregations for incompatible instruments

* Improve test coverage

* Ignore View if aggregation is incompatible, using default view if no others are configured
2022-04-07 10:55:58 -05:00
jack-berg a895d7e33c
Add min and max to HistogramPointData (#4317)
* Add min and max to HistogramPointData

* Add hasMin, hasMax to HistogramPointData instead of @Nullable

* Add javadoc about describing behavior when hasMin / hasMax is false

* Get rid of @Nullable on HistogramAccumulation
2022-04-06 10:41:52 -05:00
jack-berg 8ab4d0aa9c
Remove instrument selector predicates, add instrument name wildcards (#4331)
* Remove instrument selector predicates, add instrument name wildcards

* Cache name pattern to regex translation

* Use alternative glob match algo, get rid of cache
2022-04-06 09:54:43 -05:00
jack-berg ddca7f34ba
Ensure callbacks are not called concurrently (#4328)
* Ensure callbacks are not called concurrently

* Disallow concurrent collections by single reader, disallow concurrent callback invocations by different readers

* Restore lock on CallbackRegistration

* Single lock on MeterSharedState ensures all collections are sequential
2022-04-06 09:53:23 -05:00
jack-berg 423e1a2c54
Refactor MetricReader registration (#4320) 2022-03-31 10:13:17 -05:00
jack-berg 725ce32db3
Make setMinimumCollectionInterval package private (#4310)
* Make setMinimumCollectionInterval package private, centralize experimental utilities

* Default minimum collection interval to zero
2022-03-31 09:49:53 -05:00
jack-berg 7fe1783e10
PMR don't export if metrics collection is empty (#4315)
* PMR don't export if metrics collection is empty

* Set export available

* Use isEmpty() instead of size() == 0

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2022-03-29 08:15:48 -05:00
jack-berg e375bfdde1
Drop deprecations in metrics sdk (#4301)
* Drop deprecations in metrics sdk

* Retain OtlpGrpcMetricExporterBuilder#setChannel()
2022-03-28 11:30:31 -05:00
jack-berg 80c05a71a3
Fix bad merge (#4309) 2022-03-26 17:30:06 +09:00
jack-berg 647ff0db3c
Throw exception if selection criteria selects nothing (#4300) 2022-03-25 10:04:34 -05:00
jack-berg 1b7ec8a235
Invoke callbacks once when multiple views are registered (#4296) 2022-03-25 10:03:48 -05:00
jack-berg 12fc4b2dda
Drop HistogramPointData utility methods (#4303) 2022-03-25 10:03:05 -05:00
jack-berg 21a61e5894
Change MetricExporter getPreferredTemporality to accept InstrumentType (#4288) 2022-03-24 11:25:50 -05:00