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, | ||||
| 				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…
	
		Reference in New Issue