From bd30e850310683c9d781073de8174dd7bd3751a7 Mon Sep 17 00:00:00 2001 From: Connor Lindsey Date: Sun, 19 Jun 2022 19:11:59 -0600 Subject: [PATCH] Explore: Update service graph metrics and links (#50897) --- public/app/plugins/datasource/tempo/datasource.test.ts | 4 ++-- public/app/plugins/datasource/tempo/datasource.ts | 4 ++-- .../app/plugins/datasource/tempo/graphTransform.test.ts | 4 ++-- public/app/plugins/datasource/tempo/graphTransform.ts | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/public/app/plugins/datasource/tempo/datasource.test.ts b/public/app/plugins/datasource/tempo/datasource.test.ts index a4418ac6289..e2466291341 100644 --- a/public/app/plugins/datasource/tempo/datasource.test.ts +++ b/public/app/plugins/datasource/tempo/datasource.test.ts @@ -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, diff --git a/public/app/plugins/datasource/tempo/datasource.ts b/public/app/plugins/datasource/tempo/datasource.ts index 6ec7a4a40bd..b1936aeb07e 100644 --- a/public/app/plugins/datasource/tempo/datasource.ts +++ b/public/app/plugins/datasource/tempo/datasource.ts @@ -438,7 +438,7 @@ function serviceMapQuery(request: DataQueryRequest, 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, 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 ), diff --git a/public/app/plugins/datasource/tempo/graphTransform.test.ts b/public/app/plugins/datasource/tempo/graphTransform.test.ts index 4e99678ace9..6c4b7082d31 100644 --- a/public/app/plugins/datasource/tempo/graphTransform.test.ts +++ b/public/app/plugins/datasource/tempo/graphTransform.test.ts @@ -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]) }, ]); }); diff --git a/public/app/plugins/datasource/tempo/graphTransform.ts b/public/app/plugins/datasource/tempo/graphTransform.ts index 4a7b574d7e5..f431c968920 100644 --- a/public/app/plugins/datasource/tempo/graphTransform.ts +++ b/public/app/plugins/datasource/tempo/graphTransform.ts @@ -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) }); }