Plugins: Record plugin version in request metrics (#110210)

Plugins: record plugin version in request metrics
This commit is contained in:
Nathan Vērzemnieks
2025-08-28 15:05:39 +02:00
committed by GitHub
parent 58e649a956
commit bd5459fcf0
2 changed files with 16 additions and 15 deletions
@@ -29,7 +29,7 @@ const (
)
func TestInstrumentationMiddleware(t *testing.T) {
pCtx := backend.PluginContext{PluginID: pluginID}
pCtx := backend.PluginContext{PluginID: pluginID, PluginVersion: "1.0.0"}
t.Run("should instrument requests", func(t *testing.T) {
for _, tc := range []struct {
expEndpoint backend.Endpoint
@@ -89,7 +89,7 @@ func TestInstrumentationMiddleware(t *testing.T) {
require.Equal(t, 1, testutil.CollectAndCount(promRegistry, metricRequestDurationMs))
require.Equal(t, 1, testutil.CollectAndCount(promRegistry, metricRequestDurationS))
counter := mw.pluginRequestCounter.WithLabelValues(pluginID, string(tc.expEndpoint), instrumentationutils.RequestStatusOK.String(), string(backendplugin.TargetUnknown), string(backend.DefaultErrorSource))
counter := mw.pluginRequestCounter.WithLabelValues(pluginID, string(tc.expEndpoint), instrumentationutils.RequestStatusOK.String(), string(backendplugin.TargetUnknown), pCtx.PluginVersion, string(backend.DefaultErrorSource))
require.Equal(t, 1.0, testutil.ToFloat64(counter))
for _, m := range []string{metricRequestDurationMs, metricRequestDurationS} {
require.NoError(t, checkHistogram(promRegistry, m, map[string]string{
@@ -115,10 +115,11 @@ func TestInstrumentationMiddleware(t *testing.T) {
func TestInstrumentationMiddlewareStatusSource(t *testing.T) {
const labelStatusSource = "status_source"
queryDataErrorCounterLabels := prometheus.Labels{
"plugin_id": pluginID,
"endpoint": string(backend.EndpointQueryData),
"status": instrumentationutils.RequestStatusError.String(),
"target": string(backendplugin.TargetUnknown),
"plugin_id": pluginID,
"endpoint": string(backend.EndpointQueryData),
"status": instrumentationutils.RequestStatusError.String(),
"target": string(backendplugin.TargetUnknown),
"plugin_version": "1.0.0",
}
downstreamErrorResponse := backend.DataResponse{
Frames: nil,
@@ -145,7 +146,7 @@ func TestInstrumentationMiddlewareStatusSource(t *testing.T) {
ErrorSource: "",
}
pCtx := backend.PluginContext{PluginID: pluginID}
pCtx := backend.PluginContext{PluginID: pluginID, PluginVersion: "1.0.0"}
promRegistry := prometheus.NewRegistry()
pluginsRegistry := fakes.NewFakePluginRegistry()