mirror of
https://github.com/SukkaW/Surge.git
synced 2026-09-13 02:54:38 +08:00
Chore: add external download stat report
This commit is contained in:
@@ -3,6 +3,8 @@ import { noop } from 'foxts/noop';
|
||||
import { basename, extname } from 'node:path';
|
||||
import process from 'node:process';
|
||||
import picocolors from 'picocolors';
|
||||
import { mergeExternalDownloadStats, takeExternalDownloadStats } from '../lib/download-stats';
|
||||
import type { ExternalDownloadStatsSnapshot } from '../lib/download-stats';
|
||||
|
||||
export const SPAN_STATUS_START = 0;
|
||||
export const SPAN_STATUS_END = 1;
|
||||
@@ -82,8 +84,9 @@ export function makeSpan(rawSpan: RawSpan): Span {
|
||||
|
||||
async traceWorkerChild<T>(name: string, factory: (rawSpan: RawSpan) => Promise<WorkerJobResult<T>>): Promise<T> {
|
||||
const childSpan = traceChild(name);
|
||||
const { result, traceResult, workerTimeOrigin } = await factory(childSpan.rawSpan);
|
||||
const { result, traceResult, workerTimeOrigin, externalDownloadStats } = await factory(childSpan.rawSpan);
|
||||
mergeWorkerTrace(childSpan, traceResult, workerTimeOrigin);
|
||||
mergeExternalDownloadStats(externalDownloadStats);
|
||||
childSpan.stop();
|
||||
return result;
|
||||
}
|
||||
@@ -207,7 +210,8 @@ function mergeWorkerTrace(
|
||||
export interface WorkerJobResult<T> {
|
||||
result: T,
|
||||
traceResult: TraceResult,
|
||||
workerTimeOrigin: number
|
||||
workerTimeOrigin: number,
|
||||
externalDownloadStats: ExternalDownloadStatsSnapshot
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -231,7 +235,8 @@ export async function workerJob<T>(
|
||||
return {
|
||||
result,
|
||||
traceResult: span.traceResult,
|
||||
workerTimeOrigin: performance.timeOrigin
|
||||
workerTimeOrigin: performance.timeOrigin,
|
||||
externalDownloadStats: takeExternalDownloadStats()
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user