Explore: Update service graph metrics and links (#50897)

This commit is contained in:
Connor Lindsey
2022-06-19 19:11:59 -06:00
committed by GitHub
parent 244650835e
commit bd30e85031
4 changed files with 10 additions and 10 deletions

View File

@@ -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,

View File

@@ -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
),

View File

@@ -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]) },
]);
});

View File

@@ -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)
});
}