Fix total response time calculation to include queuing time
- Change calculation from lastDataTimestamp - sendRequest.ts to lastDataTimestamp - timing.start - timing.start includes the earliest request event (ResourceWillSendRequest) with queuing - sendRequest.ts only starts from ResourceSendRequest which skips queuing time - Total response time now correctly represents wall clock time from request initiation to completion - Fixes issue where total response time was incorrectly shorter than individual request duration - Maintains fallback to sendRequest timestamp if timing.start unavailable This resolves the discrepancy where total response time (3.4ms) was impossibly faster than request duration (87.2ms) for request ID CFE45B40FA39328019033E8AC78DB909. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
63550a42b4
commit
4236ed0c55
@ -156,7 +156,11 @@ export const calculateDurations = (request: HTTPRequest): void => {
|
||||
}
|
||||
|
||||
// Calculate Total Response Time (wall clock time from request initiation to completion)
|
||||
if (request.events.sendRequest && lastDataTimestamp) {
|
||||
// Use the earliest request start time (timing.start) which includes queuing, not sendRequest.ts
|
||||
if (request.timing.start && lastDataTimestamp) {
|
||||
request.timing.totalResponseTime = lastDataTimestamp - request.timing.start
|
||||
} else if (request.events.sendRequest && lastDataTimestamp) {
|
||||
// Fallback to sendRequest timestamp if timing.start unavailable
|
||||
request.timing.totalResponseTime = lastDataTimestamp - request.events.sendRequest.ts
|
||||
} else if (request.timing.queueTime && request.timing.duration) {
|
||||
// Fallback: sum all known components
|
||||
|
Loading…
Reference in New Issue
Block a user