mirror of https://github.com/grafana/grafana.git
Update metrics (#51117)
This commit is contained in:
parent
f7db3d2ae6
commit
6b407f7265
|
|
@ -205,7 +205,7 @@ To display the APM table:
|
||||||
1. Select the **Service Graph** query type and run the query.
|
1. Select the **Service Graph** query type and run the query.
|
||||||
1. (Optional): filter your results.
|
1. (Optional): filter your results.
|
||||||
|
|
||||||
Note: The metric traces_spanmetrics_calls_total is used to display the name, rate & error rate columns and traces_spanmetrics_duration_seconds_bucket is used to display the duration column (these metrics will need to exist in your Prometheus datasource).
|
Note: The metric traces_spanmetrics_calls_total is used to display the name, rate & error rate columns and traces_spanmetrics_latency_bucket is used to display the duration column (these metrics will need to exist in your Prometheus datasource).
|
||||||
|
|
||||||
Click a row in the rate, error rate, or duration columns to open a query in Prometheus with the span name of that row automatically set in the query. Click a row in the links column to open a query in Tempo with the span name of that row automatically set in the query.
|
Click a row in the rate, error rate, or duration columns to open a query in Prometheus with the span name of that row automatically set in the query. Click a row in the links column to open a query in Tempo with the span name of that row automatically set in the query.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.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].title).toBe('Error Rate');
|
||||||
expect(response.data[0].fields[3].config.links[0].internal.query.expr).toBe(
|
expect(response.data[0].fields[3].config.links[0].internal.query.expr).toBe(
|
||||||
'sum(rate(traces_spanmetrics_calls_total{span_status="STATUS_CODE_ERROR",span_name="${__data.fields[0]}"}[$__rate_interval]))'
|
'sum(rate(traces_spanmetrics_calls_total{status_code="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.range).toBe(true);
|
||||||
expect(response.data[0].fields[3].config.links[0].internal.query.exemplar).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.unit).toBe('s');
|
||||||
expect(response.data[0].fields[5].config.links[0].title).toBe('Duration');
|
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(
|
expect(response.data[0].fields[5].config.links[0].internal.query.expr).toBe(
|
||||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_name="${__data.fields[0]}"}[$__rate_interval])) by (le))'
|
'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_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.range).toBe(true);
|
||||||
expect(response.data[0].fields[5].config.links[0].internal.query.exemplar).toBe(true);
|
expect(response.data[0].fields[5].config.links[0].internal.query.exemplar).toBe(true);
|
||||||
|
|
@ -445,25 +445,25 @@ describe('Tempo apm table', () => {
|
||||||
builtQuery = buildExpr(
|
builtQuery = buildExpr(
|
||||||
{
|
{
|
||||||
expr: 'topk(5, sum(rate(traces_spanmetrics_calls_total{}[$__range])) by (span_name))',
|
expr: 'topk(5, sum(rate(traces_spanmetrics_calls_total{}[$__range])) by (span_name))',
|
||||||
params: ['span_status="STATUS_CODE_ERROR"'],
|
params: ['status_code="STATUS_CODE_ERROR"'],
|
||||||
},
|
},
|
||||||
'span_name=~"HTTP Client|HTTP GET|HTTP GET - root|HTTP POST|HTTP POST - post"',
|
'span_name=~"HTTP Client|HTTP GET|HTTP GET - root|HTTP POST|HTTP POST - post"',
|
||||||
targets
|
targets
|
||||||
);
|
);
|
||||||
expect(builtQuery).toBe(
|
expect(builtQuery).toBe(
|
||||||
'topk(5, sum(rate(traces_spanmetrics_calls_total{span_status="STATUS_CODE_ERROR",span_name=~"HTTP Client|HTTP GET|HTTP GET - root|HTTP POST|HTTP POST - post"}[$__range])) by (span_name))'
|
'topk(5, sum(rate(traces_spanmetrics_calls_total{status_code="STATUS_CODE_ERROR",span_name=~"HTTP Client|HTTP GET|HTTP GET - root|HTTP POST|HTTP POST - post"}[$__range])) by (span_name))'
|
||||||
);
|
);
|
||||||
|
|
||||||
builtQuery = buildExpr(
|
builtQuery = buildExpr(
|
||||||
{
|
{
|
||||||
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{}[$__range])) by (le))',
|
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{}[$__range])) by (le))',
|
||||||
params: ['span_status="STATUS_CODE_ERROR"'],
|
params: ['status_code="STATUS_CODE_ERROR"'],
|
||||||
},
|
},
|
||||||
'span_name=~"HTTP Client"',
|
'span_name=~"HTTP Client"',
|
||||||
targets
|
targets
|
||||||
);
|
);
|
||||||
expect(builtQuery).toBe(
|
expect(builtQuery).toBe(
|
||||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",span_name=~"HTTP Client"}[$__range])) by (le))'
|
'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{status_code="STATUS_CODE_ERROR",span_name=~"HTTP Client"}[$__range])) by (le))'
|
||||||
);
|
);
|
||||||
|
|
||||||
targets = { targets: [{ queryType: 'serviceMap', serviceMapQuery: '{client="app",service="app"}' }] } as any;
|
targets = { targets: [{ queryType: 'serviceMap', serviceMapQuery: '{client="app",service="app"}' }] } as any;
|
||||||
|
|
@ -527,7 +527,7 @@ describe('Tempo apm table', () => {
|
||||||
it('should make apm request correctly', () => {
|
it('should make apm request correctly', () => {
|
||||||
const apmRequest = makeApmRequest([
|
const apmRequest = makeApmRequest([
|
||||||
'topk(5, sum(rate(traces_spanmetrics_calls_total{service="app"}[$__range])) by (span_name))"',
|
'topk(5, sum(rate(traces_spanmetrics_calls_total{service="app"}[$__range])) by (span_name))"',
|
||||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",service="app",service="app",span_name=~"HTTP Client"}[$__range])) by (le))',
|
'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{status_code="STATUS_CODE_ERROR",service="app",service="app",span_name=~"HTTP Client"}[$__range])) by (le))',
|
||||||
]);
|
]);
|
||||||
expect(apmRequest).toEqual([
|
expect(apmRequest).toEqual([
|
||||||
{
|
{
|
||||||
|
|
@ -537,8 +537,8 @@ describe('Tempo apm table', () => {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
refId:
|
refId:
|
||||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",service="app",service="app",span_name=~"HTTP Client"}[$__range])) by (le))',
|
'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{status_code="STATUS_CODE_ERROR",service="app",service="app",span_name=~"HTTP Client"}[$__range])) by (le))',
|
||||||
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_status="STATUS_CODE_ERROR",service="app",service="app",span_name=~"HTTP Client"}[$__range])) by (le))',
|
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{status_code="STATUS_CODE_ERROR",service="app",service="app",span_name=~"HTTP Client"}[$__range])) by (le))',
|
||||||
instant: true,
|
instant: true,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
@ -627,12 +627,12 @@ const rateMetric = new MutableDataFrame({
|
||||||
|
|
||||||
const errorRateMetric = new MutableDataFrame({
|
const errorRateMetric = new MutableDataFrame({
|
||||||
refId:
|
refId:
|
||||||
'topk(5, sum(rate(traces_spanmetrics_calls_total{span_status="STATUS_CODE_ERROR",span_name=~"HTTP Client|HTTP GET - root"}[$__range])) by (span_name))',
|
'topk(5, sum(rate(traces_spanmetrics_calls_total{status_code="STATUS_CODE_ERROR",span_name=~"HTTP Client|HTTP GET - root"}[$__range])) by (span_name))',
|
||||||
fields: [
|
fields: [
|
||||||
{ name: 'Time', values: [1653725618609, 1653725618609] },
|
{ name: 'Time', values: [1653725618609, 1653725618609] },
|
||||||
{ name: 'span_name', values: ['HTTP Client', 'HTTP GET - root'] },
|
{ name: 'span_name', values: ['HTTP Client', 'HTTP GET - root'] },
|
||||||
{
|
{
|
||||||
name: 'Value #topk(5, sum(rate(traces_spanmetrics_calls_total{span_status="STATUS_CODE_ERROR"}[$__range])) by (span_name))',
|
name: 'Value #topk(5, sum(rate(traces_spanmetrics_calls_total{status_code="STATUS_CODE_ERROR"}[$__range])) by (span_name))',
|
||||||
values: [3.75164671814457, 3.121331111401608],
|
values: [3.75164671814457, 3.121331111401608],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
@ -640,11 +640,11 @@ const errorRateMetric = new MutableDataFrame({
|
||||||
|
|
||||||
const durationMetric = new MutableDataFrame({
|
const durationMetric = new MutableDataFrame({
|
||||||
refId:
|
refId:
|
||||||
'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
||||||
fields: [
|
fields: [
|
||||||
{ name: 'Time', values: [1653725618609] },
|
{ name: 'Time', values: [1653725618609] },
|
||||||
{
|
{
|
||||||
name: 'Value #histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
name: 'Value #histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{span_name=~"HTTP GET - root"}[$__range])) by (le))',
|
||||||
values: [0.12003505696757232],
|
values: [0.12003505696757232],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -142,10 +142,10 @@ export const rateMetric = {
|
||||||
};
|
};
|
||||||
export const errorRateMetric = {
|
export const errorRateMetric = {
|
||||||
expr: 'topk(5, sum(rate(traces_spanmetrics_calls_total{}[$__range])) by (span_name))',
|
expr: 'topk(5, sum(rate(traces_spanmetrics_calls_total{}[$__range])) by (span_name))',
|
||||||
params: ['span_status="STATUS_CODE_ERROR"'],
|
params: ['status_code="STATUS_CODE_ERROR"'],
|
||||||
};
|
};
|
||||||
export const durationMetric = {
|
export const durationMetric = {
|
||||||
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_duration_seconds_bucket{}[$__range])) by (le))',
|
expr: 'histogram_quantile(.9, sum(rate(traces_spanmetrics_latency_bucket{}[$__range])) by (le))',
|
||||||
params: [],
|
params: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue