Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,7 @@ describe('SpanEvidenceKeyValueList', () => {
description: 'https://example.com/resource.js',
problemSpan: ProblemSpan.OFFENDER,
data: {
'Encoded Body Size': 31041901,
'http.response_content_length': 31041901,
},
});

Expand Down Expand Up @@ -715,6 +715,45 @@ describe('SpanEvidenceKeyValueList', () => {
screen.getByTestId('span-evidence-key-value-list.duration-impact')
).toHaveTextContent('52% (487ms/931ms)');
});

describe('With backwards compatible legacy keys', () => {
const legacyKeyBuilder = new TransactionEventBuilder(
'a1',
'/',
IssueType.PERFORMANCE_UNCOMPRESSED_ASSET,
{
duration: 0.931, // in seconds
}
);
legacyKeyBuilder.getEvent().projectID = '123';

const offenderSpanWithLegacyKey = new MockSpan({
startTimestamp: 0,
endTimestamp: 0.487, // in seconds
op: 'resource.script',
description: 'https://example.com/resource.js',
problemSpan: ProblemSpan.OFFENDER,
data: {
'Encoded Body Size': 31041901,
},
});

legacyKeyBuilder.addSpan(offenderSpanWithLegacyKey);

it('Renders relevant fields', () => {
render(
<SpanEvidenceKeyValueList
event={legacyKeyBuilder.getEvent()}
projectSlug={projectSlug}
/>
);

expect(screen.getByRole('cell', {name: 'Asset Size'})).toBeInTheDocument();
expect(
screen.getByTestId('span-evidence-key-value-list.asset-size')
).toHaveTextContent('29.6 MiB (31041901 B)');
});
});
});

describe('Large HTTP Payload', () => {
Expand All @@ -732,7 +771,7 @@ describe('SpanEvidenceKeyValueList', () => {
description: 'https://example.com/api/users',
problemSpan: ProblemSpan.OFFENDER,
data: {
'Encoded Body Size': 31041901,
'http.response_content_length': 31041901,
},
});

Expand Down Expand Up @@ -771,5 +810,40 @@ describe('SpanEvidenceKeyValueList', () => {
screen.getByTestId('span-evidence-key-value-list.payload-size')
).toHaveTextContent('29.6 MiB (31041901 B)');
});

describe('With backwards compatible legacy keys', () => {
const legacyKeyBuilder = new TransactionEventBuilder(
'a1',
'/',
IssueType.PERFORMANCE_LARGE_HTTP_PAYLOAD
);
legacyKeyBuilder.getEvent().projectID = '123';

const offenderSpanWithLegacyKey = new MockSpan({
startTimestamp: 0,
endTimestamp: 0.487, // in seconds
op: 'http.client',
description: 'https://example.com/api/users',
problemSpan: ProblemSpan.OFFENDER,
data: {
'Encoded Body Size': 31041901,
},
});

legacyKeyBuilder.addSpan(offenderSpanWithLegacyKey);
it('Renders relevant fields', () => {
render(
<SpanEvidenceKeyValueList
event={legacyKeyBuilder.getEvent()}
projectSlug={projectSlug}
/>
);

expect(screen.getByRole('cell', {name: 'Payload Size'})).toBeInTheDocument();
expect(
screen.getByTestId('span-evidence-key-value-list.payload-size')
).toHaveTextContent('29.6 MiB (31041901 B)');
});
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ function LargeHTTPPayloadSpanEvidence({
makeRow(t('Large HTTP Payload Span'), getSpanEvidenceValue(offendingSpans[0])),
makeRow(
t('Payload Size'),
getSpanFieldBytes(offendingSpans[0], 'Encoded Body Size')
getSpanFieldBytes(offendingSpans[0], 'http.response_content_length') ??
getSpanFieldBytes(offendingSpans[0], 'Encoded Body Size')
),
].filter(Boolean) as KeyValueListData
}
Expand Down Expand Up @@ -311,7 +312,8 @@ function UncompressedAssetSpanEvidence({
makeRow(t('Slow Resource Span'), getSpanEvidenceValue(offendingSpans[0])),
makeRow(
t('Asset Size'),
getSpanFieldBytes(offendingSpans[0], 'Encoded Body Size')
getSpanFieldBytes(offendingSpans[0], 'http.response_content_length') ??
getSpanFieldBytes(offendingSpans[0], 'Encoded Body Size')
),
makeRow(
t('Duration Impact'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,14 @@ import {

const DEFAULT_ERRORS_VISIBLE = 5;

const SIZE_DATA_KEYS = ['Encoded Body Size', 'Decoded Body Size', 'Transfer Size'];
const SIZE_DATA_KEYS = [
'Encoded Body Size',
'Decoded Body Size',
'Transfer Size',
'http.response_content_length',
'http.decoded_response_content_length',
'http.response_transfer_size',
];

type TransactionResult = {
id: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@ describe('SpanTreeModel', () => {
parent_span_id: 'a453cc713e5baf9c',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
],
Expand Down Expand Up @@ -298,9 +298,9 @@ describe('SpanTreeModel', () => {
parent_span_id: 'a453cc713e5baf9c',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a453cc713e5baf9c',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -83,9 +83,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a23f26b939d1a735',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -97,9 +97,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a0e89ce4e0900ad5',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -111,9 +111,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a0e89ce4e0900ad5',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -125,9 +125,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a934857184bdf5a6',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -139,9 +139,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb4',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -153,9 +153,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb5',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
{
Expand All @@ -167,9 +167,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb6',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
],
Expand Down Expand Up @@ -280,9 +280,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a453cc713e5baf9c',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 1,
Expand All @@ -307,9 +307,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a23f26b939d1a735',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 2,
Expand All @@ -334,9 +334,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a0e89ce4e0900ad5',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 0,
Expand All @@ -361,9 +361,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a0e89ce4e0900ad5',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 0,
Expand Down Expand Up @@ -406,9 +406,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'a934857184bdf5a6',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 1,
Expand All @@ -433,9 +433,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb6',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
treeDepth: 2,
Expand All @@ -452,9 +452,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb4',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 1,
Expand All @@ -479,9 +479,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb5',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 1,
Expand Down Expand Up @@ -511,9 +511,9 @@ describe('WaterfallModel', () => {
parent_span_id: 'b5795cf4ba68bbb6',
trace_id: '8cbbc19c0f54447ab702f00263262726',
data: {
'Decoded Body Size': 159248,
'Encoded Body Size': 159248,
'Transfer Size': 275,
'http.decoded_response_content_length': 159248,
'http.response_content_length': 159248,
'http.response_transfer_size': 275,
},
},
numOfSpanChildren: 0,
Expand Down
Loading