Commit Graph

317 Commits

Author SHA1 Message Date
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
jack-berg c4ea1c155e
Refactor view API, make AttributesProcessor internal (#4277)
* Switch View and ViewBuilder to classes

* Make AttributesProcessor an empty interface, move content to AbstractAttributesProcessor

* Drop io.opentelemetry.sdk.metrics.view package
2022-03-23 11:01:54 -05:00
jack-berg 322097ad4b
Hide exemplars (#4276)
* Make exemplar package internal

* Add method to reflectively set exemplar filter on SdkMeterProvderBuilder
2022-03-22 10:39:37 -05:00
jack-berg 2c695a34f8
Simplify MetricReader (#4268)
* Simplify MetricReader

* Tighten up PR

* Restore some methods / classes and deprecate

* Revert "Restore some methods / classes and deprecate"

This reverts commit fee90e5da7.
2022-03-22 10:10:15 -05:00
Trask Stalnaker cd2583df6a
Add misspell check (and fix misspellings) (#4290)
* Add misspell check

* Fix misspellings

* Spotless
2022-03-22 15:12:40 +09:00
jack-berg 59697eedc0
Metrics SDK odds and ends (#4273)
* Metrics SDK odds and ends

* Make InstrumentSelectorBuilder contructor package private

* Fix build

* Improve documentation for SdkMeterProviderBuilder defaults
2022-03-21 13:45:51 -05:00
jack-berg dba57a538a
Drop io.opentelemetry.sdk.metrics.common package (#4275) 2022-03-21 10:02:08 -05:00
jack-berg ccfa2dcbe4
Implement metric identity specification (#4222)
* Implement metric identity specification

* PR feedback

* Fix build
2022-03-15 12:46:27 -05:00