mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Adds support for logs (specify level), metrics (enable metrics and Prometheus /metrics endpoint and traces (jaeger or otlp) for standalone API server. This will allow any grafana core service part of standalone apiserver to use logging, metrics and traces as normal.
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package tracing
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestInitSampler(t *testing.T) {
|
|
otel := &TracingService{}
|
|
otel.cfg = NewEmptyTracingConfig()
|
|
sampler, err := otel.initSampler()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "AlwaysOffSampler", sampler.Description())
|
|
|
|
otel.cfg.Sampler = "bogus"
|
|
_, err = otel.initSampler()
|
|
require.Error(t, err)
|
|
|
|
otel.cfg.Sampler = "const"
|
|
otel.cfg.SamplerParam = 0.5
|
|
_, err = otel.initSampler()
|
|
require.Error(t, err)
|
|
|
|
otel.cfg.Sampler = "const"
|
|
otel.cfg.SamplerParam = 1.0
|
|
sampler, err = otel.initSampler()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "AlwaysOnSampler", sampler.Description())
|
|
|
|
otel.cfg.Sampler = "probabilistic"
|
|
otel.cfg.SamplerParam = 0.5
|
|
sampler, err = otel.initSampler()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "TraceIDRatioBased{0.5}", sampler.Description())
|
|
|
|
otel.cfg.Sampler = "rateLimiting"
|
|
otel.cfg.SamplerParam = 100.25
|
|
sampler, err = otel.initSampler()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "RateLimitingSampler{100.25}", sampler.Description())
|
|
}
|