123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- import {getTableData} from 'sentry/views/dashboards/metrics/table';
- const queries = [
- {
- name: 'a',
- mri: 'd:custom/sentry.event_manager.save@second',
- op: 'p50',
- groupBy: ['consumer_group', 'event_type'],
- },
- {
- name: 'b',
- mri: 'd:custom/sentry.event_manager.save_attachments@second',
- op: 'p90',
- groupBy: ['event_type'],
- },
- ];
- const data = [
- [
- {
- by: {
- consumer_group: '',
- event_type: '',
- },
- series: [],
- totals: 0.3751704159949441,
- },
- {
- by: {
- consumer_group: '',
- event_type: 'error',
- },
- series: [],
- totals: 0.13256912349970662,
- },
- {
- by: {
- consumer_group: 'ingest-occurrences-0',
- event_type: '',
- },
- series: [],
- totals: 0.11766651156358421,
- },
- {
- by: {
- consumer_group: '',
- event_type: 'transaction',
- },
- series: [],
- totals: 0.11107462100335397,
- },
- {
- by: {
- consumer_group: '',
- event_type: 'default',
- },
- series: [],
- totals: 0.10583872749703004,
- },
- {
- by: {
- consumer_group: '',
- event_type: 'csp',
- },
- series: [],
- totals: 0.1013268940441776,
- },
- {
- by: {
- consumer_group: '',
- event_type: 'nel',
- },
- series: [],
- totals: 0.06116106499985108,
- },
- ],
- [
- {
- by: {
- event_type: '',
- },
- series: [],
- totals: 0.000006055769335944205,
- },
- {
- by: {
- event_type: 'default',
- },
- series: [],
- totals: 0.000004693902155850083,
- },
- {
- by: {
- event_type: 'error',
- },
- series: [],
- totals: 0.0000046898378059268,
- },
- {
- by: {
- event_type: 'csp',
- },
- series: [],
- totals: 0.000004462950164452195,
- },
- {
- by: {
- event_type: 'nel',
- },
- series: [],
- totals: 0.000004437007009983063,
- },
- ],
- ];
- describe('getTableSeries', () => {
- it('should return table series', () => {
- // @ts-expect-error
- const result = getTableData({data, meta: []}, queries);
- expect(result.headers).toEqual([
- {order: undefined, label: 'consumer_group', name: 'consumer_group', type: 'tag'},
- {order: undefined, label: 'event_type', name: 'event_type', type: 'tag'},
- {
- order: undefined,
- label: 'p50(sentry.event_manager.save)',
- name: 'a',
- type: 'field',
- id: undefined,
- },
- {
- order: undefined,
- label: 'p90(sentry.event_manager.save_attachments)',
- name: 'b',
- type: 'field',
- id: undefined,
- },
- ]);
- expect(result.rows.length).toEqual(7);
- const ingestRow = result.rows[2];
- expect(ingestRow.a.value).toBeDefined();
- expect(ingestRow.b.value).toBeUndefined();
- const defaultRow = result.rows[5];
- expect(defaultRow.a.value).toBeDefined();
- expect(defaultRow.b.value).toBeDefined();
- });
- });
|