mirror of
https://github.com/grafana/grafana.git
synced 2025-02-09 23:16:16 -06:00
Traces: APM table improvements (#50969)
* Update rate and error rate query link * Update tests for new rate and error rate links * Update duration query * Update tests for new duration query
This commit is contained in:
parent
2dbaf259a7
commit
5d65d4ce03
@ -372,7 +372,7 @@ describe('Tempo apm table', () => {
|
||||
expect(response.data[0].fields[1].config.decimals).toBe(2);
|
||||
expect(response.data[0].fields[1].config.links[0].title).toBe('Rate');
|
||||
expect(response.data[0].fields[1].config.links[0].internal.query.expr).toBe(
|
||||
'topk(5, sum(rate(traces_spanmetrics_calls_total{span_name="${__data.fields[0]}"}[$__rate_interval])) by (span_name))'
|
||||
'sum(rate(traces_spanmetrics_calls_total{span_name="${__data.fields[0]}"}[$__rate_interval]))'
|
||||
);
|
||||
expect(response.data[0].fields[1].config.links[0].internal.query.range).toBe(true);
|
||||
expect(response.data[0].fields[1].config.links[0].internal.query.exemplar).toBe(true);
|
||||
@ -392,7 +392,7 @@ describe('Tempo apm table', () => {
|
||||
expect(response.data[0].fields[3].config.decimals).toBe(2);
|
||||
expect(response.data[0].fields[3].config.links[0].title).toBe('Error Rate');
|
||||
expect(response.data[0].fields[3].config.links[0].internal.query.expr).toBe(
|
||||
'topk(5, sum(rate(traces_spanmetrics_calls_total{span_status="STATUS_CODE_ERROR",span_name="${__data.fields[0]}"}[$__rate_interval])) by (span_name))'
|
||||
'sum(rate(traces_spanmetrics_calls_total{span_status="STATUS_CODE_ERROR",span_name="${__data.fields[0]}"}[$__rate_interval]))'
|
||||
);
|
||||
expect(response.data[0].fields[3].config.links[0].internal.query.range).toBe(true);
|
||||
expect(response.data[0].fields[3].config.links[0].internal.query.exemplar).toBe(true);
|
||||
@ -412,7 +412,7 @@ describe('Tempo apm table', () => {
|
||||
expect(response.data[0].fields[5].config.unit).toBe('s');
|
||||
expect(response.data[0].fields[5].config.links[0].title).toBe('Duration');
|
||||
expect(response.data[0].fields[5].config.links[0].internal.query.expr).toBe(
|
||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",span_name="${__data.fields[0]}"}[$__rate_interval])) by (le))'
|
||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_name="${__data.fields[0]}"}[$__rate_interval])) by (le))'
|
||||
);
|
||||
expect(response.data[0].fields[5].config.links[0].internal.query.range).toBe(true);
|
||||
expect(response.data[0].fields[5].config.links[0].internal.query.exemplar).toBe(true);
|
||||
@ -479,7 +479,7 @@ describe('Tempo apm table', () => {
|
||||
|
||||
it('should build link expr correctly', () => {
|
||||
let builtQuery = buildLinkExpr('topk(5, sum(rate(traces_spanmetrics_calls_total{}[$__range])) by (span_name))');
|
||||
expect(builtQuery).toBe('topk(5, sum(rate(traces_spanmetrics_calls_total{}[$__rate_interval])) by (span_name))');
|
||||
expect(builtQuery).toBe('sum(rate(traces_spanmetrics_calls_total{}[$__rate_interval]))');
|
||||
});
|
||||
|
||||
it('should get rate aligned values correctly', () => {
|
||||
@ -640,11 +640,11 @@ const errorRateMetric = new MutableDataFrame({
|
||||
|
||||
const durationMetric = new MutableDataFrame({
|
||||
refId:
|
||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
||||
fields: [
|
||||
{ name: 'Time', values: [1653725618609] },
|
||||
{
|
||||
name: 'Value #histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
||||
name: 'Value #histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
||||
values: [0.12003505696757232],
|
||||
},
|
||||
],
|
||||
|
@ -766,6 +766,8 @@ export function buildExpr(
|
||||
}
|
||||
|
||||
export function buildLinkExpr(expr: string) {
|
||||
// don't want top 5 or by span name in links
|
||||
expr = expr.replace('topk(5, ', '').replace(' by (span_name))', '');
|
||||
return expr.replace('__range', '__rate_interval');
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ export const errorRateMetric = {
|
||||
};
|
||||
export const durationMetric = {
|
||||
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{}[$__range])) by (le))',
|
||||
params: ['span_status="STATUS_CODE_ERROR"'],
|
||||
params: [],
|
||||
};
|
||||
|
||||
export const serviceMapMetrics = [
|
||||
|
Loading…
Reference in New Issue
Block a user