Spec-Zone.ru › Deno 2

perf_hooks

This module provides an implementation of a subset of the W3C Web Performance APIs as well as additional APIs for Node.js-specific performance measurements.

Node.js supports the following Web Performance APIs:

  • High Resolution Time
  • Performance Timeline
  • User Timing
  • Resource Timing
import { PerformanceObserver, performance } from 'node:perf_hooks';

const obs = new PerformanceObserver((items) => {
  console.log(items.getEntries()[0].duration);
  performance.clearMarks();
});
obs.observe({ type: 'measure' });
performance.measure('Start to Now');

performance.mark('A');
doSomeLongRunningProcess(() => {
  performance.measure('A to Now', 'A');

  performance.mark('B');
  performance.measure('A to B', 'A', 'B');
});

Usage in Deno

import * as mod from "node:perf_hooks";

class PerformanceEntry

Usage in Deno

import { PerformanceEntry } from "node:perf_hooks";

The constructor of this class is not exposed to users directly.

Constructors

PerformanceEntry()
new

Properties

detail:
NodeGCPerformanceDetail
| unknown
| undefined
readonly
optional

Additional detail specific to the entryType.

duration: number
readonly

The total number of milliseconds elapsed for this entry. This value will not be meaningful for all Performance Entry types.

entryType: EntryType
readonly

The type of the performance entry. It may be one of:

  • 'node' (Node.js only)
  • 'mark' (available on the Web)
  • 'measure' (available on the Web)
  • 'gc' (Node.js only)
  • 'function' (Node.js only)
  • 'http2' (Node.js only)
  • 'http' (Node.js only)
name: string
readonly

The name of the performance entry.

startTime: number
readonly

The high resolution millisecond timestamp marking the starting time of the Performance Entry.

Methods

toJSON(): any

variable PerformanceEntry

PerformanceEntry is a global reference for import { PerformanceEntry } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; PerformanceEntry: infer T; } ? T : _PerformanceEntry

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceentry


class PerformanceMark

extends PerformanceEntry

Usage in Deno

import { PerformanceMark } from "node:perf_hooks";

Exposes marks created via the Performance.mark() method.

Properties

duration: 0
readonly
entryType: "mark"
readonly

variable PerformanceMark

PerformanceMark is a global reference for import { PerformanceMark } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; PerformanceMark: infer T; } ? T : _PerformanceMark

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performancemark


class PerformanceMeasure

extends PerformanceEntry

Usage in Deno

import { PerformanceMeasure } from "node:perf_hooks";

Exposes measures created via the Performance.measure() method.

The constructor of this class is not exposed to users directly.

Properties

entryType: "measure"
readonly

variable PerformanceMeasure

PerformanceMeasure is a global reference for import { PerformanceMeasure } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; PerformanceMeasure: infer T; } ? T : _PerformanceMeasure

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performancemeasure


class PerformanceNodeTiming

extends PerformanceEntry

Usage in Deno

import { PerformanceNodeTiming } from "node:perf_hooks";

This property is an extension by Node.js. It is not available in Web browsers.

Provides timing details for Node.js itself. The constructor of this class is not exposed to users.

Properties

bootstrapComplete: number
readonly

The high resolution millisecond timestamp at which the Node.js process completed bootstrapping. If bootstrapping has not yet finished, the property has the value of -1.

entryType: "node"
readonly
environment: number
readonly

The high resolution millisecond timestamp at which the Node.js environment was initialized.

idleTime: number
readonly

The high resolution millisecond timestamp of the amount of time the event loop has been idle within the event loop's event provider (e.g. epoll_wait). This does not take CPU usage into consideration. If the event loop has not yet started (e.g., in the first tick of the main script), the property has the value of 0.

loopExit: number
readonly

The high resolution millisecond timestamp at which the Node.js event loop exited. If the event loop has not yet exited, the property has the value of -1. It can only have a value of not -1 in a handler of the 'exit' event.

loopStart: number
readonly

The high resolution millisecond timestamp at which the Node.js event loop started. If the event loop has not yet started (e.g., in the first tick of the main script), the property has the value of -1.

nodeStart: number
readonly

The high resolution millisecond timestamp at which the Node.js process was initialized.

uvMetricsInfo: UVMetrics
readonly

This is a wrapper to the uv_metrics_info function. It returns the current set of event loop metrics.

It is recommended to use this property inside a function whose execution was scheduled using setImmediate to avoid collecting metrics before finishing all operations scheduled during the current loop iteration.

v8Start: number
readonly

The high resolution millisecond timestamp at which the V8 platform was initialized.


class PerformanceObserver

extends AsyncResource

Usage in Deno

import { PerformanceObserver } from "node:perf_hooks";

Constructors

PerformanceObserver(callback: PerformanceObserverCallback)
new

Methods

disconnect(): void

Disconnects the PerformanceObserver instance from all notifications.

observe(options: { entryTypes: readonly EntryType[]; buffered?: boolean | undefined; } | { type: EntryType; buffered?: boolean | undefined; }): void

Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified either by options.entryTypes or options.type:

import {
  performance,
  PerformanceObserver,
} from 'node:perf_hooks';

const obs = new PerformanceObserver((list, observer) => {
  // Called once asynchronously. `list` contains three items.
});
obs.observe({ type: 'mark' });

for (let n = 0; n < 3; n++)
  performance.mark(`test${n}`);
takeRecords(): PerformanceEntry[]

variable PerformanceObserver

PerformanceObserver is a global reference for import { PerformanceObserver } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; PerformanceObserver: infer T; } ? T : _PerformanceObserver

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceobserver


class PerformanceObserverEntryList

Usage in Deno

import { PerformanceObserverEntryList } from "node:perf_hooks";

Methods

getEntries(): PerformanceEntry[]

Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime.

import {
  performance,
  PerformanceObserver,
} from 'node:perf_hooks';

const obs = new PerformanceObserver((perfObserverList, observer) => {
  console.log(perfObserverList.getEntries());

   * [
   *   PerformanceEntry {
   *     name: 'test',
   *     entryType: 'mark',
   *     startTime: 81.465639,
   *     duration: 0,
   *     detail: null
   *   },
   *   PerformanceEntry {
   *     name: 'meow',
   *     entryType: 'mark',
   *     startTime: 81.860064,
   *     duration: 0,
   *     detail: null
   *   }
   * ]

  performance.clearMarks();
  performance.clearMeasures();
  observer.disconnect();
});
obs.observe({ type: 'mark' });

performance.mark('test');
performance.mark('meow');
getEntriesByName(
name: string,
type?: EntryType,
): PerformanceEntry[]

Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal totype.

import {
  performance,
  PerformanceObserver,
} from 'node:perf_hooks';

const obs = new PerformanceObserver((perfObserverList, observer) => {
  console.log(perfObserverList.getEntriesByName('meow'));

   * [
   *   PerformanceEntry {
   *     name: 'meow',
   *     entryType: 'mark',
   *     startTime: 98.545991,
   *     duration: 0,
   *     detail: null
   *   }
   * ]

  console.log(perfObserverList.getEntriesByName('nope')); // []

  console.log(perfObserverList.getEntriesByName('test', 'mark'));

   * [
   *   PerformanceEntry {
   *     name: 'test',
   *     entryType: 'mark',
   *     startTime: 63.518931,
   *     duration: 0,
   *     detail: null
   *   }
   * ]

  console.log(perfObserverList.getEntriesByName('test', 'measure')); // []

  performance.clearMarks();
  performance.clearMeasures();
  observer.disconnect();
});
obs.observe({ entryTypes: ['mark', 'measure'] });

performance.mark('test');
performance.mark('meow');
getEntriesByType(type: EntryType): PerformanceEntry[]

Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime whose performanceEntry.entryType is equal to type.

import {
  performance,
  PerformanceObserver,
} from 'node:perf_hooks';

const obs = new PerformanceObserver((perfObserverList, observer) => {
  console.log(perfObserverList.getEntriesByType('mark'));

   * [
   *   PerformanceEntry {
   *     name: 'test',
   *     entryType: 'mark',
   *     startTime: 55.897834,
   *     duration: 0,
   *     detail: null
   *   },
   *   PerformanceEntry {
   *     name: 'meow',
   *     entryType: 'mark',
   *     startTime: 56.350146,
   *     duration: 0,
   *     detail: null
   *   }
   * ]

  performance.clearMarks();
  performance.clearMeasures();
  observer.disconnect();
});
obs.observe({ type: 'mark' });

performance.mark('test');
performance.mark('meow');

variable PerformanceObserverEntryList

PerformanceObserverEntryList is a global reference for import { PerformanceObserverEntryList } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; PerformanceObserverEntryList: infer T; } ? T : _PerformanceObserverEntryList

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceobserverentrylist


class PerformanceResourceTiming

extends PerformanceEntry

Usage in Deno

import { PerformanceResourceTiming } from "node:perf_hooks";

Provides detailed network timing data regarding the loading of an application's resources.

The constructor of this class is not exposed to users directly.

Constructors

PerformanceResourceTiming()
new

Properties

connectEnd: number
readonly

The high resolution millisecond timestamp representing the time immediately after Node.js finishes establishing the connection to the server to retrieve the resource.

connectStart: number
readonly

The high resolution millisecond timestamp representing the time immediately before Node.js starts to establish the connection to the server to retrieve the resource.

decodedBodySize: number
readonly

A number representing the size (in octets) received from the fetch (HTTP or cache), of the message body, after removing any applied content-codings.

domainLookupEnd: number
readonly

The high resolution millisecond timestamp representing the time immediately after the Node.js finished the domain name lookup for the resource.

domainLookupStart: number
readonly

The high resolution millisecond timestamp immediately before the Node.js starts the domain name lookup for the resource.

encodedBodySize: number
readonly

A number representing the size (in octets) received from the fetch (HTTP or cache), of the payload body, before removing any applied content-codings.

entryType: "resource"
readonly
fetchStart: number
readonly

The high resolution millisecond timestamp immediately before the Node.js starts to fetch the resource.

redirectEnd: number
readonly

The high resolution millisecond timestamp that will be created immediately after receiving the last byte of the response of the last redirect.

redirectStart: number
readonly

The high resolution millisecond timestamp that represents the start time of the fetch which initiates the redirect.

requestStart: number
readonly

The high resolution millisecond timestamp representing the time immediately before Node.js receives the first byte of the response from the server.

responseEnd: number
readonly

The high resolution millisecond timestamp representing the time immediately after Node.js receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.

secureConnectionStart: number
readonly

The high resolution millisecond timestamp representing the time immediately before Node.js starts the handshake process to secure the current connection.

transferSize: number
readonly

A number representing the size (in octets) of the fetched resource. The size includes the response header fields plus the response payload body.

workerStart: number
readonly

The high resolution millisecond timestamp at immediately before dispatching the fetch request. If the resource is not intercepted by a worker the property will always return 0.

Methods

toJSON(): any

Returns a object that is the JSON representation of the PerformanceResourceTiming object

variable PerformanceResourceTiming

PerformanceResourceTiming is a global reference for import { PerformanceResourceTiming } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; PerformanceResourceTiming: infer T; } ? T : _PerformanceResourceTiming

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceresourcetiming


function createHistogram

Usage in Deno

import { createHistogram } from "node:perf_hooks";
createHistogram(options?: CreateHistogramOptions): RecordableHistogram

Returns a RecordableHistogram.

Parameters

options: CreateHistogramOptions
optional

Return Type

RecordableHistogram

function monitorEventLoopDelay

Usage in Deno

import { monitorEventLoopDelay } from "node:perf_hooks";
monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram
Deno compatibility

This symbol is not implemented.

This property is an extension by Node.js. It is not available in Web browsers.

Creates an IntervalHistogram object that samples and reports the event loop delay over time. The delays will be reported in nanoseconds.

Using a timer to detect approximate event loop delay works because the execution of timers is tied specifically to the lifecycle of the libuv event loop. That is, a delay in the loop will cause a delay in the execution of the timer, and those delays are specifically what this API is intended to detect.

import { monitorEventLoopDelay } from 'node:perf_hooks';
const h = monitorEventLoopDelay({ resolution: 20 });
h.enable();
// Do something.
h.disable();
console.log(h.min);
console.log(h.max);
console.log(h.mean);
console.log(h.stddev);
console.log(h.percentiles);
console.log(h.percentile(50));
console.log(h.percentile(99));

Parameters

options: EventLoopMonitorOptions
optional

Return Type

IntervalHistogram

interface CreateHistogramOptions

Usage in Deno

import { type CreateHistogramOptions } from "node:perf_hooks";

Properties

min:
number
| bigint
| undefined
optional

The minimum recordable value. Must be an integer value greater than 0.

max:
number
| bigint
| undefined
optional

The maximum recordable value. Must be an integer value greater than min.

figures: number | undefined
optional

The number of accuracy digits. Must be a number between 1 and 5.


interface EventLoopMonitorOptions

Usage in Deno

import { type EventLoopMonitorOptions } from "node:perf_hooks";

Properties

resolution: number | undefined
optional

The sampling rate in milliseconds. Must be greater than zero.


interface EventLoopUtilization

Usage in Deno

import { type EventLoopUtilization } from "node:perf_hooks";

Properties

idle: number
active: number
utilization: number

interface Histogram

Usage in Deno

import { type Histogram } from "node:perf_hooks";

Properties

count: number
readonly

The number of samples recorded by the histogram.

countBigInt: bigint
readonly

The number of samples recorded by the histogram. v17.4.0, v16.14.0

exceeds: number
readonly

The number of times the event loop delay exceeded the maximum 1 hour event loop delay threshold.

exceedsBigInt: bigint
readonly

The number of times the event loop delay exceeded the maximum 1 hour event loop delay threshold.

max: number
readonly

The maximum recorded event loop delay.

maxBigInt: number
readonly

The maximum recorded event loop delay. v17.4.0, v16.14.0

mean: number
readonly

The mean of the recorded event loop delays.

min: number
readonly

The minimum recorded event loop delay.

minBigInt: bigint
readonly

The minimum recorded event loop delay. v17.4.0, v16.14.0

percentiles: Map<number, number>
readonly

Returns a Map object detailing the accumulated percentile distribution.

percentilesBigInt: Map<bigint, bigint>
readonly

Returns a Map object detailing the accumulated percentile distribution.

stddev: number
readonly

The standard deviation of the recorded event loop delays.

Methods

percentile(percentile: number): number

Returns the value at the given percentile.

percentileBigInt(percentile: number): bigint

Returns the value at the given percentile.

reset(): void

Resets the collected histogram data.


interface IntervalHistogram

extends Histogram

Usage in Deno

import { type IntervalHistogram } from "node:perf_hooks";

Methods

enable(): boolean

Enables the update interval timer. Returns true if the timer was started, false if it was already started.

disable(): boolean

Disables the update interval timer. Returns true if the timer was stopped, false if it was already stopped.


interface MarkOptions

Usage in Deno

import { type MarkOptions } from "node:perf_hooks";

Properties

detail: unknown | undefined
optional

Additional optional detail to include with the mark.

startTime: number | undefined
optional

An optional timestamp to be used as the mark time.


interface MeasureOptions

Usage in Deno

import { type MeasureOptions } from "node:perf_hooks";

Properties

detail: unknown | undefined
optional

Additional optional detail to include with the mark.

duration: number | undefined
optional

Duration between start and end times.

end:
number
| string
| undefined
optional

Timestamp to be used as the end time, or a string identifying a previously recorded mark.

start:
number
| string
| undefined
optional

Timestamp to be used as the start time, or a string identifying a previously recorded mark.


interface NodeGCPerformanceDetail

Usage in Deno

import { type NodeGCPerformanceDetail } from "node:perf_hooks";

Properties

kind: number | undefined
readonly
optional

When performanceEntry.entryType is equal to 'gc', the performance.kind property identifies the type of garbage collection operation that occurred. See perf_hooks.constants for valid values.

flags: number | undefined
readonly
optional

When performanceEntry.entryType is equal to 'gc', the performance.flags property contains additional information about garbage collection operation. See perf_hooks.constants for valid values.


interface Performance

Usage in Deno

import { type Performance } from "node:perf_hooks";

Properties

eventLoopUtilization: EventLoopUtilityFunction

eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time. It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait). No other CPU idle time is taken into consideration.

nodeTiming: PerformanceNodeTiming
readonly

This property is an extension by Node.js. It is not available in Web browsers.

An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones.

timeOrigin: number
readonly

The timeOrigin specifies the high resolution millisecond timestamp at which the current node process began, measured in Unix time.

Methods

clearMarks(name?: string): void

If name is not provided, removes all PerformanceMark objects from the Performance Timeline. If name is provided, removes only the named mark.

clearMeasures(name?: string): void

If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline. If name is provided, removes only the named measure.

clearResourceTimings(name?: string): void

If name is not provided, removes all PerformanceResourceTiming objects from the Resource Timeline. If name is provided, removes only the named resource.

getEntries(): PerformanceEntry[]

Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. If you are only interested in performance entries of certain types or that have certain names, see performance.getEntriesByType() and performance.getEntriesByName().

getEntriesByName(
name: string,
type?: EntryType,
): PerformanceEntry[]

Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type.

getEntriesByType(type: EntryType): PerformanceEntry[]

Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime whose performanceEntry.entryType is equal to type.

mark(
name: string,
options?: MarkOptions,
): PerformanceMark

Creates a new PerformanceMark entry in the Performance Timeline. A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', and whose performanceEntry.duration is always 0. Performance marks are used to mark specific significant moments in the Performance Timeline.

The created PerformanceMark entry is put in the global Performance Timeline and can be queried with performance.getEntries, performance.getEntriesByName, and performance.getEntriesByType. When the observation is performed, the entries should be cleared from the global Performance Timeline manually with performance.clearMarks.

markResourceTiming(
timingInfo: object,
requestedUrl: string,
initiatorType: string,
global: object,
cacheMode: "" | "local",
bodyInfo: object,
responseStatus: number,
deliveryType?: string,
): PerformanceResourceTiming

Creates a new PerformanceResourceTiming entry in the Resource Timeline. A PerformanceResourceTiming is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'resource'. Performance resources are used to mark moments in the Resource Timeline.

measure(
name: string,
startMark?: string,
endMark?: string,
): PerformanceMeasure

Creates a new PerformanceMeasure entry in the Performance Timeline. A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark.

The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, then startMark is set to timeOrigin by default.

The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown.

measure(
name: string,
options: MeasureOptions,
): PerformanceMeasure
now(): number

Returns the current high resolution millisecond timestamp, where 0 represents the start of the current node process.

setResourceTimingBufferSize(maxSize: number): void

Sets the global performance resource timing buffer size to the specified number of "resource" type performance entry objects.

By default the max buffer size is set to 250.

timerify<T extends (...params: any[]) => any>(
fn: T,
options?: TimerifyOptions,
): T

This property is an extension by Node.js. It is not available in Web browsers.

Wraps a function within a new function that measures the running time of the wrapped function. A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed.

import {
  performance,
  PerformanceObserver,
} from 'node:perf_hooks';

function someFunction() {
  console.log('hello world');
}

const wrapped = performance.timerify(someFunction);

const obs = new PerformanceObserver((list) => {
  console.log(list.getEntries()[0].duration);

  performance.clearMarks();
  performance.clearMeasures();
  obs.disconnect();
});
obs.observe({ entryTypes: ['function'] });

// A performance timeline entry will be created
wrapped();

If the wrapped function returns a promise, a finally handler will be attached to the promise and the duration will be reported once the finally handler is invoked.

toJSON(): any

An object which is JSON representation of the performance object. It is similar to window.performance.toJSON in browsers.


interface RecordableHistogram

extends Histogram

Usage in Deno

import { type RecordableHistogram } from "node:perf_hooks";

Methods

record(val: number | bigint): void
recordDelta(): void

Calculates the amount of time (in nanoseconds) that has passed since the previous call to recordDelta() and records that amount in the histogram.

add(other: RecordableHistogram): void

Adds the values from other to this histogram.


interface TimerifyOptions

Usage in Deno

import { type TimerifyOptions } from "node:perf_hooks";

Properties

histogram: RecordableHistogram | undefined
optional

A histogram object created using perf_hooks.createHistogram() that will record runtime durations in nanoseconds.


interface UVMetrics

Usage in Deno

import { type UVMetrics } from "node:perf_hooks";

Properties

loopCount: number
readonly

Number of event loop iterations.

events: number
readonly

Number of events that have been processed by the event handler.

eventsWaiting: number
readonly

Number of events that were waiting to be processed when the event provider was called.


namespace constants

Usage in Deno

import { constants } from "node:perf_hooks";

Variables

constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE
No documentation available
constants.NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY
No documentation available
constants.NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED
No documentation available
constants.NODE_PERFORMANCE_GC_FLAGS_FORCED
No documentation available
constants.NODE_PERFORMANCE_GC_FLAGS_NO
No documentation available
constants.NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE
No documentation available
constants.NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING
No documentation available
constants.NODE_PERFORMANCE_GC_INCREMENTAL
No documentation available
constants.NODE_PERFORMANCE_GC_MAJOR
No documentation available
constants.NODE_PERFORMANCE_GC_MINOR
No documentation available
constants.NODE_PERFORMANCE_GC_WEAKCB
No documentation available

type alias EntryType

Usage in Deno

import { type EntryType } from "node:perf_hooks";

Definition

"dns"
| "function"
| "gc"
| "http2"
| "http"
| "mark"
| "measure"
| "net"
| "node"
| "resource"

type alias EventLoopUtilityFunction

Usage in Deno

import { type EventLoopUtilityFunction } from "node:perf_hooks";

Definition

(
utilization1?: EventLoopUtilization,
utilization2?: EventLoopUtilization,
) => EventLoopUtilization

type alias PerformanceObserverCallback

Usage in Deno

import { type PerformanceObserverCallback } from "node:perf_hooks";

Definition

(
list: PerformanceObserverEntryList,
observer: PerformanceObserver,
) => void

variable constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_FLAGS_FORCED

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_FLAGS_NO

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_INCREMENTAL

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_MAJOR

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_MINOR

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable constants.NODE_PERFORMANCE_GC_WEAKCB

Usage in Deno

import { constants } from "node:perf_hooks";

Type

number

variable performance

Usage in Deno

import { performance } from "node:perf_hooks";

Type

Performance

performance is a global reference for import { performance } from 'node:perf_hooks'

Type

globalThis extends { onmessage: any; performance: infer T; } ? T : _performance

See

  • https://nodejs.org/docs/latest-v22.x/api/globals.html#performance


© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/perf_hooks

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API