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