Skip to content

Commit 4e8001b

Browse files
committed
ref(tracing): Add FID element to frontend transactions
This will add the FID element so that it's possible to tell which element is involved in the delay, which is extremely helpful for debugging.
1 parent 02e3b9c commit 4e8001b

File tree

1 file changed

+9
-1
lines changed
  • packages/tracing-internal/src/browser/metrics

1 file changed

+9
-1
lines changed

packages/tracing-internal/src/browser/metrics/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { onFID } from '../web-vitals/getFID';
1010
import { onLCP } from '../web-vitals/getLCP';
1111
import { getVisibilityWatcher } from '../web-vitals/lib/getVisibilityWatcher';
1212
import { observe } from '../web-vitals/lib/observe';
13-
import type { NavigatorDeviceMemory, NavigatorNetworkInformation } from '../web-vitals/types';
13+
import type { NavigatorDeviceMemory, NavigatorNetworkInformation, PerformanceEventTiming } from '../web-vitals/types';
1414
import { _startChild, isMeasurementValue } from './utils';
1515

1616
/**
@@ -31,6 +31,7 @@ let _performanceCursor: number = 0;
3131
let _measurements: Measurements = {};
3232
let _lcpEntry: LargestContentfulPaint | undefined;
3333
let _clsEntry: LayoutShift | undefined;
34+
let _fidEntry: PerformanceEventTiming | undefined;
3435

3536
/**
3637
* Start tracking web vitals
@@ -160,6 +161,7 @@ function _trackFID(): void {
160161
__DEBUG_BUILD__ && logger.log('[Measurements] Adding FID');
161162
_measurements['fid'] = { value: metric.value, unit: 'millisecond' };
162163
_measurements['mark.fid'] = { value: timeOrigin + startTime, unit: 'second' };
164+
_fidEntry = entry;
163165
});
164166
}
165167

@@ -500,4 +502,10 @@ function _tagMetricInfo(transaction: Transaction): void {
500502
transaction.setTag(`cls.source.${index + 1}`, htmlTreeAsString(source.node)),
501503
);
502504
}
505+
506+
507+
// Capture FID properties
508+
if (_fidEntry && _fidEntry.target) {
509+
transaction.setTag('fid.element', htmlTreeAsString(_fidEntry.target));
510+
}
503511
}

0 commit comments

Comments
 (0)