Plugins: Chore: Renamed instrumentation middleware to metrics middleware (#76186)
* Plugins: Chore: Renamed instrumentation middleware to metrics middleware * Removed repeated logger attributes in middleware and contextual logger * renamed loggerParams to logParams * PR review suggestion * Add contextual logger middleware * Removed unused params from logRequest * Removed unwanted changes * Safer FromContext method * Removed traceID from logParams
This commit is contained in:
@@ -6,8 +6,8 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||
"github.com/grafana/grafana/pkg/plugins"
|
||||
plog "github.com/grafana/grafana/pkg/plugins/log"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
@@ -33,10 +33,11 @@ type LoggerMiddleware struct {
|
||||
logger plog.Logger
|
||||
}
|
||||
|
||||
func (m *LoggerMiddleware) logRequest(ctx context.Context, pluginCtx backend.PluginContext, endpoint string, fn func(ctx context.Context) error) error {
|
||||
func (m *LoggerMiddleware) logRequest(ctx context.Context, fn func(ctx context.Context) error) error {
|
||||
status := statusOK
|
||||
start := time.Now()
|
||||
timeBeforePluginRequest := log.TimeSinceStart(ctx, start)
|
||||
|
||||
err := fn(ctx)
|
||||
if err != nil {
|
||||
status = statusError
|
||||
@@ -48,31 +49,13 @@ func (m *LoggerMiddleware) logRequest(ctx context.Context, pluginCtx backend.Plu
|
||||
logParams := []any{
|
||||
"status", status,
|
||||
"duration", time.Since(start),
|
||||
"pluginId", pluginCtx.PluginID,
|
||||
"endpoint", endpoint,
|
||||
"eventName", "grafana-data-egress",
|
||||
"time_before_plugin_request", timeBeforePluginRequest,
|
||||
}
|
||||
|
||||
if pluginCtx.User != nil {
|
||||
logParams = append(logParams, "uname", pluginCtx.User.Login)
|
||||
}
|
||||
|
||||
traceID := tracing.TraceIDFromContext(ctx, false)
|
||||
if traceID != "" {
|
||||
logParams = append(logParams, "traceID", traceID)
|
||||
}
|
||||
|
||||
if pluginCtx.DataSourceInstanceSettings != nil {
|
||||
logParams = append(logParams, "dsName", pluginCtx.DataSourceInstanceSettings.Name)
|
||||
logParams = append(logParams, "dsUID", pluginCtx.DataSourceInstanceSettings.UID)
|
||||
}
|
||||
|
||||
if status == statusError {
|
||||
logParams = append(logParams, "error", err)
|
||||
}
|
||||
|
||||
m.logger.Info("Plugin Request Completed", logParams...)
|
||||
m.logger.FromContext(ctx).Info("Plugin Request Completed", logParams...)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -82,7 +65,7 @@ func (m *LoggerMiddleware) QueryData(ctx context.Context, req *backend.QueryData
|
||||
}
|
||||
|
||||
var resp *backend.QueryDataResponse
|
||||
err := m.logRequest(ctx, req.PluginContext, endpointQueryData, func(ctx context.Context) (innerErr error) {
|
||||
err := m.logRequest(ctx, func(ctx context.Context) (innerErr error) {
|
||||
resp, innerErr = m.next.QueryData(ctx, req)
|
||||
return innerErr
|
||||
})
|
||||
@@ -95,7 +78,7 @@ func (m *LoggerMiddleware) CallResource(ctx context.Context, req *backend.CallRe
|
||||
return m.next.CallResource(ctx, req, sender)
|
||||
}
|
||||
|
||||
err := m.logRequest(ctx, req.PluginContext, endpointCallResource, func(ctx context.Context) (innerErr error) {
|
||||
err := m.logRequest(ctx, func(ctx context.Context) (innerErr error) {
|
||||
innerErr = m.next.CallResource(ctx, req, sender)
|
||||
return innerErr
|
||||
})
|
||||
@@ -109,7 +92,7 @@ func (m *LoggerMiddleware) CheckHealth(ctx context.Context, req *backend.CheckHe
|
||||
}
|
||||
|
||||
var resp *backend.CheckHealthResult
|
||||
err := m.logRequest(ctx, req.PluginContext, endpointCheckHealth, func(ctx context.Context) (innerErr error) {
|
||||
err := m.logRequest(ctx, func(ctx context.Context) (innerErr error) {
|
||||
resp, innerErr = m.next.CheckHealth(ctx, req)
|
||||
return innerErr
|
||||
})
|
||||
@@ -123,7 +106,7 @@ func (m *LoggerMiddleware) CollectMetrics(ctx context.Context, req *backend.Coll
|
||||
}
|
||||
|
||||
var resp *backend.CollectMetricsResult
|
||||
err := m.logRequest(ctx, req.PluginContext, endpointCollectMetrics, func(ctx context.Context) (innerErr error) {
|
||||
err := m.logRequest(ctx, func(ctx context.Context) (innerErr error) {
|
||||
resp, innerErr = m.next.CollectMetrics(ctx, req)
|
||||
return innerErr
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user