mirror of https://github.com/grafana/grafana.git
Azure: Fix duplicated trace links (#105698)
* Add trace links to first field * Review
This commit is contained in:
parent
5c1b263664
commit
58a47ef1d6
|
|
@ -599,7 +599,7 @@ func addTraceDataLinksToFields(query *AzureLogAnalyticsQuery, azurePortalBaseUrl
|
||||||
DatasourceName: dsInfo.DatasourceName,
|
DatasourceName: dsInfo.DatasourceName,
|
||||||
Query: queryJSONModel,
|
Query: queryJSONModel,
|
||||||
},
|
},
|
||||||
})
|
}, MultiField)
|
||||||
|
|
||||||
queryJSONModel.AzureTraces.Query = &query.TraceParentExploreQuery
|
queryJSONModel.AzureTraces.Query = &query.TraceParentExploreQuery
|
||||||
AddCustomDataLink(*frame, data.DataLink{
|
AddCustomDataLink(*frame, data.DataLink{
|
||||||
|
|
@ -610,7 +610,7 @@ func addTraceDataLinksToFields(query *AzureLogAnalyticsQuery, azurePortalBaseUrl
|
||||||
DatasourceName: dsInfo.DatasourceName,
|
DatasourceName: dsInfo.DatasourceName,
|
||||||
Query: queryJSONModel,
|
Query: queryJSONModel,
|
||||||
},
|
},
|
||||||
})
|
}, MultiField)
|
||||||
|
|
||||||
linkTitle := "Explore Trace in Azure Portal"
|
linkTitle := "Explore Trace in Azure Portal"
|
||||||
AddConfigLinks(*frame, tracesUrl, &linkTitle)
|
AddConfigLinks(*frame, tracesUrl, &linkTitle)
|
||||||
|
|
@ -624,7 +624,7 @@ func addTraceDataLinksToFields(query *AzureLogAnalyticsQuery, azurePortalBaseUrl
|
||||||
DatasourceName: dsInfo.DatasourceName,
|
DatasourceName: dsInfo.DatasourceName,
|
||||||
Query: logsJSONModel,
|
Query: logsJSONModel,
|
||||||
},
|
},
|
||||||
})
|
}, SingleField)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,17 +16,25 @@ import (
|
||||||
"github.com/grafana/grafana/pkg/tsdb/azuremonitor/kinds/dataquery"
|
"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 {
|
for i := range frame.Fields {
|
||||||
if frame.Fields[i].Config == nil {
|
if frame.Fields[i].Config == nil {
|
||||||
frame.Fields[i].Config = &data.FieldConfig{}
|
frame.Fields[i].Config = &data.FieldConfig{}
|
||||||
}
|
}
|
||||||
|
|
||||||
frame.Fields[i].Config.Links = append(frame.Fields[i].Config.Links, dataLink)
|
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
|
return frame
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SingleField bool = true
|
||||||
|
const MultiField bool = false
|
||||||
|
|
||||||
func AddConfigLinks(frame data.Frame, dl string, title *string) data.Frame {
|
func AddConfigLinks(frame data.Frame, dl string, title *string) data.Frame {
|
||||||
linkTitle := "View query in Azure Portal"
|
linkTitle := "View query in Azure Portal"
|
||||||
if title != nil {
|
if title != nil {
|
||||||
|
|
@ -39,7 +47,7 @@ func AddConfigLinks(frame data.Frame, dl string, title *string) data.Frame {
|
||||||
URL: dl,
|
URL: dl,
|
||||||
}
|
}
|
||||||
|
|
||||||
frame = AddCustomDataLink(frame, deepLink)
|
frame = AddCustomDataLink(frame, deepLink, MultiField)
|
||||||
|
|
||||||
return frame
|
return frame
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue