MCPcopy Create free account
hub / github.com/angular/angular / createMetric

Function createMetric

packages/benchpress/test/metric/perflog_metric_spec.ts:26–89  ·  view source on GitHub ↗
(
    perfLogs: PerfLogEvent[],
    perfLogFeatures: PerfLogFeatures,
    {
      microMetrics,
      forceGc,
      captureFrames,
      receivedData,
      requestCount,
      ignoreNavigation,
    }: {
      microMetrics?: {[key: string]: string};
      forceGc?: boolean;
      captureFrames?: boolean;
      receivedData?: boolean;
      requestCount?: boolean;
      ignoreNavigation?: boolean;
    } = {},
  )

Source from the content-addressed store, hash-verified

24 const eventFactory = new TraceEventFactory('timeline', 'pid0');
25
26 function createMetric(
27 perfLogs: PerfLogEvent[],
28 perfLogFeatures: PerfLogFeatures,
29 {
30 microMetrics,
31 forceGc,
32 captureFrames,
33 receivedData,
34 requestCount,
35 ignoreNavigation,
36 }: {
37 microMetrics?: {[key: string]: string};
38 forceGc?: boolean;
39 captureFrames?: boolean;
40 receivedData?: boolean;
41 requestCount?: boolean;
42 ignoreNavigation?: boolean;
43 } = {},
44 ): Metric {
45 commandLog = [];
46 if (!perfLogFeatures) {
47 perfLogFeatures = new PerfLogFeatures({
48 render: true,
49 gc: true,
50 frameCapture: true,
51 userTiming: true,
52 });
53 }
54 if (!microMetrics) {
55 microMetrics = {};
56 }
57 const providers: StaticProvider[] = [
58 Options.DEFAULT_PROVIDERS,
59 PerflogMetric.PROVIDERS,
60 {provide: Options.MICRO_METRICS, useValue: microMetrics},
61 {
62 provide: PerflogMetric.SET_TIMEOUT,
63 useValue: (fn: Function, millis: number) => {
64 commandLog.push(['setTimeout', millis]);
65 fn();
66 },
67 },
68 {
69 provide: WebDriverExtension,
70 useValue: new MockDriverExtension(perfLogs, commandLog, perfLogFeatures),
71 },
72 ];
73 if (forceGc != null) {
74 providers.push({provide: Options.FORCE_GC, useValue: forceGc});
75 }
76 if (captureFrames != null) {
77 providers.push({provide: Options.CAPTURE_FRAMES, useValue: captureFrames});
78 }
79 if (receivedData != null) {
80 providers.push({provide: Options.RECEIVED_DATA, useValue: receivedData});
81 }
82 if (requestCount != null) {
83 providers.push({provide: Options.REQUEST_COUNT, useValue: requestCount});

Callers 2

aggregateFunction · 0.70

Calls 4

getMethod · 0.65
createMethod · 0.65
fnFunction · 0.50
pushMethod · 0.45

Tested by

no test coverage detected