123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import {
- makeNodeMetadata,
- makeSiblingAutogroup,
- makeSpan,
- } from 'sentry/views/performance/newTraceDetails/traceModels/traceTreeTestUtils';
- import {SiblingAutogroupNode} from './siblingAutogroupNode';
- import {TraceTreeNode} from './traceTreeNode';
- const start = new Date('2024-02-29T00:00:00Z').getTime() / 1e3;
- describe('SiblingAutogroupNode', () => {
- it('not expanded by default', () => {
- const node = new SiblingAutogroupNode(
- null,
- makeSiblingAutogroup({autogrouped_by: {op: 'op', description: 'description'}}),
- makeNodeMetadata()
- );
- expect(node.expanded).toBe(false);
- });
- it('segments', () => {
- const node = new SiblingAutogroupNode(
- null,
- makeSiblingAutogroup({autogrouped_by: {op: 'op', description: 'description'}}),
- makeNodeMetadata()
- );
- for (let i = 0; i < 5; i++) {
- node.children.push(
- new TraceTreeNode(
- node,
- makeSpan({
- description: 'span',
- op: 'db',
- start_timestamp: start + i,
- timestamp: start + i + 1,
- span_id: `span-${i}`,
- parent_span_id: node.value.span_id,
- }),
- makeNodeMetadata()
- )
- );
- }
- expect(node.autogroupedSegments).toEqual([[start * 1e3, 5000]]);
- });
- it('segments with gap', () => {
- const node = new SiblingAutogroupNode(
- null,
- makeSiblingAutogroup({autogrouped_by: {op: 'op', description: 'description'}}),
- makeNodeMetadata()
- );
- node.children.push(
- new TraceTreeNode(
- node,
- makeSpan({
- start_timestamp: start,
- timestamp: start + 1,
- }),
- makeNodeMetadata()
- )
- );
- node.children.push(
- new TraceTreeNode(
- node,
- makeSpan({
- start_timestamp: start + 2,
- timestamp: start + 3,
- }),
- makeNodeMetadata()
- )
- );
- expect(node.autogroupedSegments).toEqual([
- [start * 1e3, 1000],
- [start * 1e3 + 2000, 1000],
- ]);
- });
- });
|