1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-11-06 09:09:44 +02:00
Files
opentelemetry-go/sdk/metric/internal/aggregate/drop_test.go
David Ashpole 481f4983f7 Move exemplar types to non-internal package (#5747)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/5249

This makes all existing types designed to implement the public Exemplar
API public by moving most of `internal/exemplar` to `exemplar`. The only
types that are not being made public are `exemplar.Drop`, and
`exemplar.FilteredReservoir`. Those types are moved to
`internal/aggregate`, and are renamed to `DropReservoir` and
`FilteredExemplarReservoir`.

The following types are made public:

* `exemplar.Exemplar`
* `exemplar.Filter`
* `exemplar.SampledFilter`
* `exemplar.AlwaysOnFilter`
* `exemplar.HistogramReservoir`
* `exemplar.FixedSizeReservoir`
* `exemplar.Reservoir`
* `exemplar.Value`
* `exemplar.ValueType`
2024-09-26 13:25:05 -07:00

27 lines
530 B
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package aggregate
import (
"testing"
"github.com/stretchr/testify/assert"
"go.opentelemetry.io/otel/sdk/metric/exemplar"
)
func TestDrop(t *testing.T) {
t.Run("Int64", testDropFiltered[int64])
t.Run("Float64", testDropFiltered[float64])
}
func testDropFiltered[N int64 | float64](t *testing.T) {
r := DropReservoir[N]()
var dest []exemplar.Exemplar
r.Collect(&dest)
assert.Empty(t, dest, "non-sampled context should not be offered")
}