Azure: Fix duplicated trace links (#105698)

* Add trace links to first field

* Review
main
Andreas Christou 8 hours ago committed by GitHub
parent 5c1b263664
commit 58a47ef1d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 6
      pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go
  2. 12
      pkg/tsdb/azuremonitor/loganalytics/utils.go

@ -599,7 +599,7 @@ func addTraceDataLinksToFields(query *AzureLogAnalyticsQuery, azurePortalBaseUrl
DatasourceName: dsInfo.DatasourceName,
Query: queryJSONModel,
},
})
}, MultiField)
queryJSONModel.AzureTraces.Query = &query.TraceParentExploreQuery
AddCustomDataLink(*frame, data.DataLink{
@ -610,7 +610,7 @@ func addTraceDataLinksToFields(query *AzureLogAnalyticsQuery, azurePortalBaseUrl
DatasourceName: dsInfo.DatasourceName,
Query: queryJSONModel,
},
})
}, MultiField)
linkTitle := "Explore Trace in Azure Portal"
AddConfigLinks(*frame, tracesUrl, &linkTitle)
@ -624,7 +624,7 @@ func addTraceDataLinksToFields(query *AzureLogAnalyticsQuery, azurePortalBaseUrl
DatasourceName: dsInfo.DatasourceName,
Query: logsJSONModel,
},
})
}, SingleField)
return nil
}

@ -16,17 +16,25 @@ import (
"github.com/grafana/grafana/pkg/tsdb/azuremonitor/kinds/dataquery"
)
func AddCustomDataLink(frame data.Frame, dataLink data.DataLink) data.Frame {
func AddCustomDataLink(frame data.Frame, dataLink data.DataLink, singleField bool) data.Frame {
for i := range frame.Fields {
if frame.Fields[i].Config == nil {
frame.Fields[i].Config = &data.FieldConfig{}
}
frame.Fields[i].Config.Links = append(frame.Fields[i].Config.Links, dataLink)
// Queries using the trace viz only need the link added to a single field
if singleField {
break
}
}
return frame
}
const SingleField bool = true
const MultiField bool = false
func AddConfigLinks(frame data.Frame, dl string, title *string) data.Frame {
linkTitle := "View query in Azure Portal"
if title != nil {
@ -39,7 +47,7 @@ func AddConfigLinks(frame data.Frame, dl string, title *string) data.Frame {
URL: dl,
}
frame = AddCustomDataLink(frame, deepLink)
frame = AddCustomDataLink(frame, deepLink, MultiField)
return frame
}

Loading…
Cancel
Save