mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Explore: Update service graph metrics and links (#50897)
This commit is contained in:
@@ -728,7 +728,7 @@ const serviceGraphLinks = [
|
||||
title: 'Request rate',
|
||||
internal: {
|
||||
query: {
|
||||
expr: 'rate(traces_service_graph_request_total{server="${__data.fields.id}"}[$__rate_interval])',
|
||||
expr: 'sum by (client, server)(rate(traces_service_graph_request_total{server="${__data.fields.id}"}[$__rate_interval]))',
|
||||
instant: false,
|
||||
range: true,
|
||||
exemplar: true,
|
||||
@@ -756,7 +756,7 @@ const serviceGraphLinks = [
|
||||
title: 'Failed request rate',
|
||||
internal: {
|
||||
query: {
|
||||
expr: 'rate(traces_service_graph_request_failed_total{server="${__data.fields.id}"}[$__rate_interval])',
|
||||
expr: 'sum by (client, server)(rate(traces_service_graph_request_failed_total{server="${__data.fields.id}"}[$__rate_interval]))',
|
||||
instant: false,
|
||||
range: true,
|
||||
exemplar: true,
|
||||
|
||||
@@ -438,7 +438,7 @@ function serviceMapQuery(request: DataQueryRequest<TempoQuery>, datasourceUid: s
|
||||
links: [
|
||||
makePromLink(
|
||||
'Request rate',
|
||||
`rate(${totalsMetric}{server="\${__data.fields.id}"}[$__rate_interval])`,
|
||||
`sum by (client, server)(rate(${totalsMetric}{server="\${__data.fields.id}"}[$__rate_interval]))`,
|
||||
datasourceUid,
|
||||
false
|
||||
),
|
||||
@@ -450,7 +450,7 @@ function serviceMapQuery(request: DataQueryRequest<TempoQuery>, datasourceUid: s
|
||||
),
|
||||
makePromLink(
|
||||
'Failed request rate',
|
||||
`rate(${failedMetric}{server="\${__data.fields.id}"}[$__rate_interval])`,
|
||||
`sum by (client, server)(rate(${failedMetric}{server="\${__data.fields.id}"}[$__rate_interval]))`,
|
||||
datasourceUid,
|
||||
false
|
||||
),
|
||||
|
||||
@@ -85,8 +85,8 @@ describe('mapPromMetricsToServiceMap', () => {
|
||||
{ name: 'id', values: new ArrayVector(['app_db', 'lb_app']) },
|
||||
{ name: 'source', values: new ArrayVector(['app', 'lb']) },
|
||||
{ name: 'target', values: new ArrayVector(['db', 'app']) },
|
||||
{ name: 'mainstat', values: new ArrayVector([10, 20]) },
|
||||
{ name: 'secondarystat', values: new ArrayVector([1000, 2000]) },
|
||||
{ name: 'mainstat', values: new ArrayVector([1000, 2000]) },
|
||||
{ name: 'secondarystat', values: new ArrayVector([0.17, 0.33]) },
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
@@ -207,8 +207,8 @@ function createServiceMapDataFrames() {
|
||||
{ name: Fields.id },
|
||||
{ name: Fields.source },
|
||||
{ name: Fields.target },
|
||||
{ name: Fields.mainStat, config: { unit: 'r', displayName: 'Requests' } },
|
||||
{ name: Fields.secondaryStat, config: { unit: 'ms/r', displayName: 'Average response time' } },
|
||||
{ name: Fields.mainStat, config: { unit: 'ms/r', displayName: 'Average response time' } },
|
||||
{ name: Fields.secondaryStat, config: { unit: 'r/sec', displayName: 'Requests per second' } },
|
||||
]);
|
||||
|
||||
return [nodes, edges];
|
||||
@@ -327,8 +327,8 @@ function convertToDataFrames(
|
||||
[Fields.id]: edgeId,
|
||||
[Fields.source]: edge.source,
|
||||
[Fields.target]: edge.target,
|
||||
[Fields.mainStat]: edge.total, // Requests
|
||||
[Fields.secondaryStat]: edge.total ? (edge.seconds! / edge.total) * 1000 : Number.NaN, // Average response time
|
||||
[Fields.mainStat]: edge.total ? (edge.seconds! / edge.total) * 1000 : Number.NaN, // Average response time
|
||||
[Fields.secondaryStat]: edge.total ? Math.round((edge.total / (rangeMs / 1000)) * 100) / 100 : Number.NaN, // Request per second (to 2 decimals)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user