A Go-based OpenTelemetry metrics exporter that sends metrics to Dynatrace via the Metrics Ingestion API.
- Exports OTEL metrics (counters, gauges, histograms) to Dynatrace
- Converts OTEL data to Dynatrace's line protocol format
- Supports authentication via API tokens
- Configurable endpoints and timeouts
go get github.com/akahenry/dynatrace-otel-exportercfg := config.NewConfig("https://your-env.live.dynatrace.com/api/v2/metrics/ingest", "your-api-token")import (
"github.com/akahenry/dynatrace-otel-exporter/config"
"github.com/akahenry/dynatrace-otel-exporter/dynatrace"
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
)
cfg := config.NewConfig(endpoint, token)
exporter := dynatrace.NewExporter(cfg)
meterProvider := sdkmetric.NewMeterProvider(
sdkmetric.WithReader(sdkmetric.NewPeriodicReader(exporter)),
)
otel.SetMeterProvider(meterProvider)See cmd/main.go for a complete example.
Run the example:
go run cmd/main.goThis exporter uses the Dynatrace Metrics Ingestion API with the line protocol format.
- Counters are sent as
count,delta=value - Gauges as
gauge,value - Histograms as
gauge,min=min,max=max,sum=sum,count=count
Run tests:
go test ./...Build:
go build ./...Apache 2.0