* Add agg limiting func
* Add unit test for limitAttr
* Add limiting to aggregate types
* Add internal x pkg for experimental feature-flagging
* Connect cardinality limit to metric SDK
* Replace limitAttr fn with limiter type
The Attribute method is still inlinable.
* Use x.CardinalityLimit directly
* Simplify limiter test
* Add limiter benchmark
* Document the AggregationLimit field
* Test sum limits
* Test limit for last value
* Test histogram limit
* Refactor expo hist test to use existing fixtures
The tests for the exponential histogram create their own testing
fixtures. There is nothing these new fixtures do that cannot already be
done with the existing testing fixtures used by all the other aggregate
functions. Unify the exponential histogram testing to use the existing
fixtures.
* Test the ExponentialHistogram limit
* Fix lint
* Add docs
* Rename aggregation field to aggLimit
---------
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Bump golang.org/x/tools from 0.16.0 to 0.16.1 in /internal/tools
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /exporters/otlp/otlptrace/otlptracegrpc
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /exporters/otlp/otlpmetric/otlpmetricgrpc
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /example/otel-collector
Bump actions/upload-artifact from 3 to 4
Bump github/codeql-action from 2 to 3
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /exporters/otlp/otlptrace/otlptracehttp
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /exporters/otlp/otlpmetric/otlpmetrichttp
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /bridge/opentracing/test
* Refactor expo hist test to use existing fixtures
The tests for the exponential histogram create their own testing
fixtures. There is nothing these new fixtures do that cannot already be
done with the existing testing fixtures used by all the other aggregate
functions. Unify the exponential histogram testing to use the existing
fixtures.
* Add alt input for cumulative test
* Add the internal experimental metric feature pkg
* Interpret empty envvar same as unset
* Test Exemplars and CardinalityLimit
* Fix empty test for CardinalityLimit
* Abstract common testing patterns
* Add test cases from review feedback
* Rename assertions based on review feedback
---------
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
Bump golang.org/x/sys from 0.14.0 to 0.15.0 in /sdk
Bump github.com/itchyny/gojq from 0.12.13 to 0.12.14 in /internal/tools
Bump golang.org/x/tools from 0.15.0 to 0.16.0 in /internal/tools
* add option for resource attributes in metrics for prometheus exporter
This PR adds the `WithResourceAsConstantLabels` option to the Prometheus exporter to allow users to configure resource attributes to be applied on every metric.
Fixes#4732
Signed-off-by: Alex Boten <aboten@lightstep.com>
* add test, changelog
Signed-off-by: Alex Boten <aboten@lightstep.com>
* add test for including only a subset of tags, dont use a ptr
Signed-off-by: Alex Boten <aboten@lightstep.com>
* Update exporters/prometheus/config.go
Co-authored-by: David Ashpole <dashpole@google.com>
* include feedback from review
Signed-off-by: Alex Boten <aboten@lightstep.com>
* cache results
Signed-off-by: Alex Boten <aboten@lightstep.com>
* removed map in favour of single keyVals
Signed-off-by: Alex Boten <aboten@lightstep.com>
* Update exporters/prometheus/config.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* move check outside the createResourceAttributes and rename func
Signed-off-by: Alex Boten <aboten@lightstep.com>
---------
Signed-off-by: Alex Boten <aboten@lightstep.com>
Co-authored-by: David Ashpole <dashpole@google.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Remove the deprecated view example
* Update PR number in changelog
* Update versions.yaml
---------
Co-authored-by: Robert Pająk <pellared@hotmail.com>
* Remove the deprecated NewTracer from OC bridge
* Update PR number in changelog
* Remove example test for NewTracer
---------
Co-authored-by: David Ashpole <dashpole@google.com>
Bump github.com/jcchavezs/porto from 0.5.1 to 0.6.0 in /internal/tools
Bump golang.org/x/tools from 0.14.0 to 0.15.0 in /internal/tools
Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.45.0 to 0.46.0 in /example/dice
* Use url.PathUnescape rather than url.QueryUnescape
I believe this addresses the majority of the cases described in
https://github.com/open-telemetry/opentelemetry-go/issues/3601
Golang's url.QueryUnescape will render url _path_ elements (e.g. /, +)
as spaces: `foo+bar` is rendered as `foo bar`. Path elements are (as I
read the spec) legal W3C baggage values, and replacing them with spaces
fails the value validation regex.
url.PathEscape allows path elements through unmolested.
Signed-off-by: Nathan J. Mehl <n@oden.io>
* Update CHANGELOG.md
address comments
Co-authored-by: Robert Pająk <pellared@hotmail.com>
---------
Signed-off-by: Nathan J. Mehl <n@oden.io>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Bump go.uber.org/goleak from 1.2.1 to 1.3.0 in /exporters/otlp/otlptrace/otlptracegrpc
Bump github.com/golangci/golangci-lint from 1.55.0 to 1.55.1 in /internal/tools
Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 in /exporters/zipkin
Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 in /sdk
Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 in /sdk/metric
Bump github.com/go-logr/logr from 1.2.4 to 1.3.0
* add exemplar support to OpenCensus bridge
* expand set of translated exemplar attributes
---------
Co-authored-by: Robert Pająk <pellared@hotmail.com>