Data query: Allow logging panel plugin id when executing queries (#81164)
* Data query: Allo logging panel plugin id when executing queries * Update tracing header middleware * Test fix * Add panelPluginType to query analytics * Cleanup
This commit is contained in:
@@ -343,6 +343,8 @@ func (proxy *DataSourceProxy) logRequest() {
|
||||
}
|
||||
}
|
||||
|
||||
panelPluginType := proxy.ctx.Req.Header.Get("X-Panel-Plugin-Type")
|
||||
|
||||
ctxLogger := logger.FromContext(proxy.ctx.Req.Context())
|
||||
ctxLogger.Info("Proxying incoming request",
|
||||
"userid", proxy.ctx.UserID,
|
||||
@@ -351,6 +353,7 @@ func (proxy *DataSourceProxy) logRequest() {
|
||||
"datasource", proxy.ds.Type,
|
||||
"uri", proxy.ctx.Req.RequestURI,
|
||||
"method", proxy.ctx.Req.Method,
|
||||
"panelPluginType", panelPluginType,
|
||||
"body", body)
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ func (m *TracingHeaderMiddleware) applyHeaders(ctx context.Context, req backend.
|
||||
return
|
||||
}
|
||||
|
||||
var headersList = []string{query.HeaderQueryGroupID, query.HeaderPanelID, query.HeaderDashboardUID, query.HeaderDatasourceUID, query.HeaderFromExpression, `X-Grafana-Org-Id`}
|
||||
var headersList = []string{query.HeaderQueryGroupID, query.HeaderPanelID, query.HeaderDashboardUID, query.HeaderDatasourceUID, query.HeaderFromExpression, `X-Grafana-Org-Id`, query.HeaderPanelPluginType}
|
||||
|
||||
for _, headerName := range headersList {
|
||||
gotVal := reqCtx.Req.Header.Get(headerName)
|
||||
|
||||
@@ -28,12 +28,13 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
HeaderPluginID = "X-Plugin-Id" // can be used for routing
|
||||
HeaderDatasourceUID = "X-Datasource-Uid" // can be used for routing/ load balancing
|
||||
HeaderDashboardUID = "X-Dashboard-Uid" // mainly useful for debugging slow queries
|
||||
HeaderPanelID = "X-Panel-Id" // mainly useful for debugging slow queries
|
||||
HeaderQueryGroupID = "X-Query-Group-Id" // mainly useful for finding related queries with query chunking
|
||||
HeaderFromExpression = "X-Grafana-From-Expr" // used by datasources to identify expression queries
|
||||
HeaderPluginID = "X-Plugin-Id" // can be used for routing
|
||||
HeaderDatasourceUID = "X-Datasource-Uid" // can be used for routing/ load balancing
|
||||
HeaderDashboardUID = "X-Dashboard-Uid" // mainly useful for debugging slow queries
|
||||
HeaderPanelID = "X-Panel-Id" // mainly useful for debugging slow queries
|
||||
HeaderPanelPluginType = "X-Panel-Plugin-Type"
|
||||
HeaderQueryGroupID = "X-Query-Group-Id" // mainly useful for finding related queries with query chunking
|
||||
HeaderFromExpression = "X-Grafana-From-Expr" // used by datasources to identify expression queries
|
||||
)
|
||||
|
||||
func ProvideService(
|
||||
|
||||
Reference in New Issue
Block a user