MCPcopy
hub / github.com/grafana/grafana / MetricsProvider

Interface MetricsProvider

apps/dashvalidator/pkg/cache/provider.go:12–18  ·  view source on GitHub ↗

MetricsProvider defines the interface for fetching available metrics from any datasource type (Prometheus, Loki, Mimir, etc.). Each datasource type implements its own provider.

Source from the content-addressed store, hash-verified

10// from any datasource type (Prometheus, Loki, Mimir, etc.).
11// Each datasource type implements its own provider.
12type MetricsProvider interface {
13 // GetMetrics fetches available metric names from the datasource.
14 // Returns the metrics list and recommended TTL for caching.
15 // The client parameter should have proper authentication configured.
16 GetMetrics(ctx context.Context, datasourceUID, datasourceURL string,
17 client *http.Client) (*MetricsResult, error)
18}
19
20// MetricsResult contains fetched metrics and recommended TTL for caching.
21type MetricsResult struct {

Implementers 7

MetricsCacheapps/dashvalidator/pkg/cache/cache.go
mockProviderapps/dashvalidator/pkg/cache/cache_tes
mockURLProviderapps/dashvalidator/pkg/cache/cache_tes
PrometheusProviderapps/dashvalidator/pkg/validator/prome
mockProviderapps/dashvalidator/pkg/validator/prome
FakePublicDashboardStorepkg/services/publicdashboards/internal
PublicDashboardStoreImplpkg/services/publicdashboards/internal

Calls

no outgoing calls

Tested by

no test coverage detected