UNPKG

chrome-devtools-frontend

Version:
40 lines (37 loc) 1.61 kB
// Copyright 2024 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import {describeWithEnvironment} from '../../../testing/EnvironmentHelpers.js'; import {TraceLoader} from '../../../testing/TraceLoader.js'; import * as Trace from '../trace.js'; describeWithEnvironment('ServerTimingsHandler', () => { it('extracts server timings from network request trace events', async function() { const parsedTrace = await TraceLoader.traceEngine(this, 'server-timings.json.gz'); const events = parsedTrace.parsedTrace.ServerTimings.serverTimings; const timingData = events.map(({name, dur, ts, args}) => ({name, dur, ts, desc: args.data.desc, origin: args.data.origin})); assert.deepEqual(timingData, [ { dur: Trace.Types.Timing.Micro(1004293.2819999987), name: 'Topleveltask1', ts: Trace.Types.Timing.Micro(80542636965.7475), desc: 'Description of top level task 1', origin: 'https://node-server-tan.vercel.app', }, { dur: Trace.Types.Timing.Micro(904293.2819999987), name: 'Secondleveltask1', ts: Trace.Types.Timing.Micro(80542686965.7475), desc: 'Description of second level task 1', origin: 'https://node-server-tan.vercel.app', }, { dur: Trace.Types.Timing.Micro(1000092.5859999988), name: 'Topleveltask2', ts: Trace.Types.Timing.Micro(80543641261.0185), desc: undefined, origin: 'https://node-server-tan.vercel.app', }, ]); }); });