perf_hooks
Этот модуль предоставляет реализацию подмножества API производительности веба W3C, а также дополнительные API для измерения производительности, специфичные для Node.js.
Node.js поддерживает следующие API производительности веба:
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');
});
Использование в Deno
import * as mod from "node:perf_hooks";
класс PerformanceEntry
Использование в Deno
import { PerformanceEntry } from "node:perf_hooks";
Конструктор этого класса напрямую пользователям не предоставляется.
Конструкторы
PerformanceEntry() Свойства
detail: Дополнительные сведения, относящиеся к entryType.
duration: number Общее количество миллисекунд, прошедших с момента создания этой записи. Это значение имеет смысл не для всех типов записей производительности.
Тип записи производительности. Это может быть одно из следующих значений:
-
'node'(только в Node.js) -
'mark'(доступно в вебе) -
'measure'(доступно в вебе) -
'gc'(только в Node.js) -
'function'(только в Node.js) -
'http2'(только в Node.js) -
'http'(только в Node.js)
name: string Имя записи производительности.
startTime: number Высокоточная временная метка в миллисекундах, обозначающая время начала записи производительности.
Методы
toJSON(): any переменная PerformanceEntry
PerformanceEntry является глобальной ссылкой на import { PerformanceEntry } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; PerformanceEntry: infer T; } ? T : _PerformanceEntry См. также
класс PerformanceMark
Использование в Deno
import { PerformanceMark } from "node:perf_hooks";
переменная PerformanceMark
PerformanceMark — это глобальная ссылка на import { PerformanceMark } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; PerformanceMark: infer T; } ? T : _PerformanceMark См. также
класс PerformanceMeasure
Использование в Deno
import { PerformanceMeasure } from "node:perf_hooks";
Предоставляет доступ к измерениям, созданным с помощью метода Performance.measure().
Конструктор этого класса напрямую пользователям не предоставляется.
Свойства
entryType: "measure" переменная PerformanceMeasure
PerformanceMeasure — это глобальная ссылка на import { PerformanceMeasure } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; PerformanceMeasure: infer T; } ? T : _PerformanceMeasure См. также
class PerformanceNodeTiming
Использование в Deno
import { PerformanceNodeTiming } from "node:perf_hooks";
Это свойство является расширением Node.js. Оно недоступно в веб-браузерах.
Предоставляет сведения о времени работы самого Node.js. Конструктор этого класса недоступен пользователям.
Свойства
bootstrapComplete: number Высокоточная временная метка в миллисекундах, указывающая момент завершения начальной загрузки процесса Node.js. Если начальная загрузка ещё не завершена, значение свойства равно -1.
entryType: "node" environment: number Высокоточная временная метка в миллисекундах, указывающая момент инициализации среды Node.js.
idleTime: number Высокоточная временная метка в миллисекундах, указывающая время простоя цикла событий внутри поставщика событий цикла событий (например, epoll_wait). Загрузка ЦП не учитывается. Если цикл событий ещё не запущен (например, на первом тике основного скрипта), значение свойства равно 0.
loopExit: number Высокоточная временная метка в миллисекундах, указывающая момент выхода из цикла событий Node.js. Если цикл событий ещё не завершился, значение свойства равно -1. Значение, отличное от -1, может быть только в обработчике события 'exit'.
loopStart: number Высокоточная временная метка в миллисекундах, указывающая момент запуска цикла событий Node.js. Если цикл событий ещё не запущен (например, на первом тике основного скрипта), значение свойства равно -1.
nodeStart: number Высокоточная временная метка в миллисекундах, указывающая момент инициализации процесса Node.js.
uvMetricsInfo: UVMetrics Это оболочка для функции uv_metrics_info. Она возвращает текущий набор метрик цикла событий.
Рекомендуется использовать это свойство внутри функции, выполнение которой запланировано с помощью setImmediate, чтобы избежать сбора метрик до завершения всех операций, запланированных на текущую итерацию цикла.
v8Start: number Высокоточная временная метка в миллисекундах, указывающая момент инициализации платформы V8.
класс PerformanceObserver
Использование в Deno
import { PerformanceObserver } from "node:perf_hooks";
Конструкторы
PerformanceObserver(callback: PerformanceObserverCallback) Методы
disconnect(): void Отключает экземпляр PerformanceObserver от всех уведомлений.
observe(options: { entryTypes: readonly EntryType[]; buffered?: boolean | undefined; } | { type: EntryType; buffered?: boolean | undefined; }): void Подписывает экземпляр PerformanceObserver на уведомления о новых экземплярах PerformanceEntry, определяемых с помощью options.entryTypes или 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}`);
переменная PerformanceObserver
PerformanceObserver — глобальная ссылка на import { PerformanceObserver } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; PerformanceObserver: infer T; } ? T : _PerformanceObserver См. также
класс PerformanceObserverEntryList
Использование в Deno
import { PerformanceObserverEntryList } from "node:perf_hooks";
Методы
Возвращает список объектов PerformanceEntry в хронологическом порядке относительно 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[] Возвращает список объектов PerformanceEntry в хронологическом порядке относительно performanceEntry.startTime, у которых performanceEntry.name равно name и, необязательно, performanceEntry.entryType равноtype.
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[] Возвращает список объектов PerformanceEntry в хронологическом порядке относительно performanceEntry.startTime, у которых performanceEntry.entryType равно 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');
переменная PerformanceObserverEntryList
PerformanceObserverEntryList — глобальная ссылка на import { PerformanceObserverEntryList } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; PerformanceObserverEntryList: infer T; } ? T : _PerformanceObserverEntryList См. также
класс PerformanceResourceTiming
Использование в Deno
import { PerformanceResourceTiming } from "node:perf_hooks";
Предоставляет подробные данные о времени сетевых операций при загрузке ресурсов приложения.
Конструктор этого класса недоступен пользователям напрямую.
Конструкторы
PerformanceResourceTiming() Свойства
connectEnd: number Метка времени с высокой точностью в миллисекундах, обозначающая момент сразу после того, как Node.js завершает установление соединения с сервером для получения ресурса.
connectStart: number Метка времени с высокой точностью в миллисекундах, обозначающая момент непосредственно перед тем, как Node.js начинает устанавливать соединение с сервером для получения ресурса.
decodedBodySize: number Число, представляющее размер (в октетах) тела сообщения, полученного в результате выборки (по HTTP или из кэша), после удаления применённых кодировок содержимого.
domainLookupEnd: number Метка времени с высокой точностью в миллисекундах, обозначающая момент сразу после того, как Node.js завершает поиск доменного имени ресурса.
domainLookupStart: number Метка времени с высокой точностью в миллисекундах непосредственно перед тем, как Node.js начинает поиск доменного имени ресурса.
encodedBodySize: number Число, представляющее размер (в октетах) тела полезной нагрузки, полученного в результате выборки (по HTTP или из кэша), до удаления применённых кодировок содержимого.
entryType: "resource" fetchStart: number Метка времени с высокой точностью в миллисекундах непосредственно перед тем, как Node.js начинает получать ресурс.
redirectEnd: number Метка времени с высокой точностью в миллисекундах, которая будет зафиксирована сразу после получения последнего байта ответа на последнее перенаправление.
redirectStart: number Метка времени с высокой точностью в миллисекундах, обозначающая время начала выборки, инициирующей перенаправление.
requestStart: number Метка времени с высокой точностью в миллисекундах, обозначающая момент непосредственно перед тем, как Node.js получает первый байт ответа от сервера.
responseEnd: number Метка времени с высокой точностью в миллисекундах, обозначающая момент сразу после получения Node.js последнего байта ресурса или непосредственно перед закрытием транспортного соединения — в зависимости от того, что произойдёт раньше.
secureConnectionStart: number Метка времени с точностью до миллисекунды и высоким разрешением, обозначающая момент непосредственно перед тем, как Node.js начинает процесс рукопожатия для защиты текущего соединения.
transferSize: number Число, представляющее размер (в октетах) полученного ресурса. Размер включает поля заголовка ответа и тело полезной нагрузки ответа.
workerStart: number Метка времени с точностью до миллисекунды и высоким разрешением, обозначающая момент непосредственно перед отправкой запроса fetch. Если ресурс не перехватывается обработчиком, свойство всегда возвращает 0.
Методы
toJSON(): any Возвращает object, представляющий объект PerformanceResourceTiming в формате JSON
переменная PerformanceResourceTiming
PerformanceResourceTiming — это глобальная ссылка на import { PerformanceResourceTiming } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; PerformanceResourceTiming: infer T; } ? T : _PerformanceResourceTiming См. также
функция createHistogram
Использование в Deno
import { createHistogram } from "node:perf_hooks";
createHistogram(options?: CreateHistogramOptions): RecordableHistogramВозвращает RecordableHistogram.
Параметры
options: CreateHistogramOptions Тип возвращаемого значения
function monitorEventLoopDelay
Использование в Deno
import { monitorEventLoopDelay } from "node:perf_hooks";
monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogramЭтот символ не реализован.
Это свойство является расширением Node.js. Оно недоступно в веб-браузерах.
Создаёт объект IntervalHistogram, который с течением времени измеряет и сообщает о задержке цикла событий. Задержки будут сообщаться в наносекундах.
Использование таймера для обнаружения приблизительной задержки цикла событий работает, потому что выполнение таймеров напрямую связано с жизненным циклом цикла событий libuv. То есть задержка в цикле приводит к задержке выполнения таймера, и именно такие задержки предназначен обнаруживать этот API.
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));
Параметры
options: EventLoopMonitorOptions Возвращаемый тип
interface CreateHistogramOptions
Использование в Deno
import { type CreateHistogramOptions } from "node:perf_hooks";
Свойства
min:
number
| bigint
| undefined
Минимальное записываемое значение. Должно быть целым числом больше 0.
max:
number
| bigint
| undefined
Максимальное записываемое значение. Должно быть целым числом больше min.
figures: number | undefined Количество цифр точности. Должно быть числом от 1 до 5.
interface EventLoopMonitorOptions
Использование в Deno
import { type EventLoopMonitorOptions } from "node:perf_hooks";
Свойства
resolution: number | undefined Частота измерений в миллисекундах. Должна быть больше нуля.
interface EventLoopUtilization
Использование в Deno
import { type EventLoopUtilization } from "node:perf_hooks";
Свойства
интерфейс Histogram
Использование в Deno
import { type Histogram } from "node:perf_hooks";
Свойства
count: number Количество выборок, записанных гистограммой.
countBigInt: bigint Количество выборок, записанных гистограммой. v17.4.0, v16.14.0
exceeds: number Количество случаев, когда задержка цикла событий превышала максимальный порог задержки цикла событий, равный 1 часу.
exceedsBigInt: bigint Количество случаев, когда задержка цикла событий превышала максимальный порог задержки цикла событий, равный 1 часу.
max: number Максимальная зарегистрированная задержка цикла событий.
maxBigInt: number Максимальная зарегистрированная задержка цикла событий. v17.4.0, v16.14.0
mean: number Среднее значение зарегистрированных задержек цикла событий.
min: number Минимальная зарегистрированная задержка цикла событий.
minBigInt: bigint Минимальная зарегистрированная задержка цикла событий. v17.4.0, v16.14.0
percentiles: Map<number, number> Возвращает объект Map с накопленным распределением процентилей.
percentilesBigInt: Map<bigint, bigint> Возвращает объект Map с накопленным распределением процентилей.
stddev: number Стандартное отклонение зарегистрированных задержек цикла событий.
Методы
percentile(percentile: number): number Возвращает значение для указанного процентиля.
percentileBigInt(percentile: number): bigint Возвращает значение для указанного процентиля.
reset(): void Сбрасывает собранные данные гистограммы.
интерфейс IntervalHistogram
Использование в Deno
import { type IntervalHistogram } from "node:perf_hooks";
интерфейс MarkOptions
Использование в Deno
import { type MarkOptions } from "node:perf_hooks";
интерфейс MeasureOptions
Использование в Deno
import { type MeasureOptions } from "node:perf_hooks";
Свойства
detail: unknown | undefined Дополнительные необязательные сведения, которые можно включить в отметку.
duration: number | undefined Продолжительность между временем начала и временем окончания.
end:
number
| string
| undefined
Временная метка, используемая в качестве времени окончания, или строка, идентифицирующая ранее записанную отметку.
start:
number
| string
| undefined
Временная метка, используемая в качестве времени начала, или строка, идентифицирующая ранее записанную отметку.
интерфейс NodeGCPerformanceDetail
Использование в Deno
import { type NodeGCPerformanceDetail } from "node:perf_hooks";
Свойства
kind: number | undefined Если performanceEntry.entryType равно 'gc', свойство performance.kind указывает тип выполненной операции сборки мусора. Допустимые значения см. в perf_hooks.constants.
flags: number | undefined Если performanceEntry.entryType равно 'gc', свойство performance.flags содержит дополнительную информацию об операции сборки мусора. Допустимые значения см. в perf_hooks.constants.
интерфейс Performance
Использование в Deno
import { type Performance } from "node:perf_hooks";
Свойства
eventLoopUtilization похож на загрузку ЦП, но рассчитывается с использованием высокоточного астрономического времени. Он показывает, какой процент времени цикл обработки событий провёл вне поставщика событий цикла обработки событий (например, epoll_wait). Другое время простоя ЦП не учитывается.
nodeTiming: PerformanceNodeTiming Это свойство является расширением Node.js. Оно недоступно в веб-браузерах.
Экземпляр класса PerformanceNodeTiming, предоставляющий показатели производительности для определённых этапов работы Node.js.
timeOrigin: number timeOrigin задаёт временную метку с точностью до миллисекунды, соответствующую моменту запуска текущего процесса node, измеренную в формате Unix.
Методы
clearMarks(name?: string): void Если name не указано, удаляет все объекты PerformanceMark из шкалы производительности. Если name указано, удаляет только пометку с указанным именем.
clearMeasures(name?: string): void Если name не указано, удаляет все объекты PerformanceMeasure из шкалы производительности. Если name указано, удаляет только измерение с указанным именем.
clearResourceTimings(name?: string): void Если name не указано, удаляет все объекты PerformanceResourceTiming из шкалы ресурсов. Если name указано, удаляет только ресурс с указанным именем.
Возвращает список объектов PerformanceEntry в хронологическом порядке относительно performanceEntry.startTime. Если вас интересуют только записи о производительности определенных типов или с определенными именами, см. performance.getEntriesByType() и performance.getEntriesByName().
getEntriesByName(
name: string,
type?: EntryType,
): PerformanceEntry[] Возвращает список объектов PerformanceEntry в хронологическом порядке относительно performanceEntry.startTime, у которых performanceEntry.name равно name и, при необходимости, performanceEntry.entryType равно type.
getEntriesByType(type: EntryType): PerformanceEntry[] Возвращает список объектов PerformanceEntry в хронологическом порядке относительно performanceEntry.startTime, у которых performanceEntry.entryType равно type.
mark(
name: string,
options?: MarkOptions,
): PerformanceMark Создает новую запись PerformanceMark в шкале производительности. PerformanceMark — это подкласс PerformanceEntry, у которого performanceEntry.entryType всегда равно 'mark', а performanceEntry.duration всегда равно 0. Метки производительности используются для обозначения важных моментов в шкале производительности.
Созданная запись PerformanceMark добавляется в глобальную шкалу производительности, и ее можно запросить с помощью performance.getEntries, performance.getEntriesByName и performance.getEntriesByType. После выполнения наблюдения записи следует вручную удалить из глобальной шкалы производительности с помощью performance.clearMarks.
markResourceTiming(
timingInfo: object,
requestedUrl: string,
initiatorType: string,
global: object,
cacheMode: "" | "local",
bodyInfo: object,
responseStatus: number,
deliveryType?: string,
): PerformanceResourceTiming Создает новую запись PerformanceResourceTiming в шкале ресурсов. PerformanceResourceTiming — это подкласс PerformanceEntry, у которого performanceEntry.entryType всегда равно 'resource'. Ресурсы производительности используются для обозначения моментов в шкале ресурсов.
measure(
name: string,
startMark?: string,
endMark?: string,
): PerformanceMeasure Создает новую запись PerformanceMeasure в шкале производительности. PerformanceMeasure — это подкласс PerformanceEntry, у которого performanceEntry.entryType всегда равно 'measure', а performanceEntry.duration показывает количество миллисекунд, прошедших между startMark и endMark.
Аргумент startMark может указывать на любой существующий PerformanceMark в шкале производительности или на любое из свойств временных меток, предоставляемых классом PerformanceNodeTiming. Если указанного startMark не существует, по умолчанию startMark устанавливается в значение timeOrigin.
Аргумент endMark должен указывать на любой существующий PerformanceMark в шкале производительности или на любое из свойств временных меток, предоставляемых классом PerformanceNodeTiming. Если указанного endMark не существует, будет вызвана ошибка.
measure(
name: string,
options: MeasureOptions,
): PerformanceMeasure now(): number Возвращает текущую высокоточную временную метку в миллисекундах, где 0 соответствует началу текущего процесса node.
setResourceTimingBufferSize(maxSize: number): void Устанавливает размер глобального буфера временных характеристик ресурсов равным указанному числу объектов записей о производительности типа "resource".
По умолчанию максимальный размер буфера равен 250.
timerify<T extends (...params: any[]) => any>(
fn: T,
options?: TimerifyOptions,
): T Это свойство является расширением Node.js. Оно недоступно в веб-браузерах.
Оборачивает функцию в новую функцию, которая измеряет время выполнения обёрнутой функции. Для доступа к сведениям о времени необходимо, чтобы PerformanceObserver был подписан на тип события 'function'.
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();
Если обёрнутая функция возвращает промис, к нему будет добавлен обработчик finally, и длительность будет сообщена после вызова этого обработчика.
toJSON(): any Объект, представляющий собой JSON-представление объекта performance. Он аналогичен window.performance.toJSON в браузерах.
интерфейс RecordableHistogram
Использование в Deno
import { type RecordableHistogram } from "node:perf_hooks";
Методы
record(val: number | bigint): void recordDelta(): void Вычисляет время (в наносекундах), прошедшее с момента предыдущего вызова recordDelta(), и записывает это значение в гистограмму.
add(other: RecordableHistogram): void Добавляет значения из other в эту гистограмму.
интерфейс TimerifyOptions
Использование в Deno
import { type TimerifyOptions } from "node:perf_hooks";
Свойства
histogram: RecordableHistogram | undefined Объект гистограммы, созданный с помощью perf_hooks.createHistogram(), который будет записывать длительность выполнения в наносекундах.
интерфейс UVMetrics
Использование в Deno
import { type UVMetrics } from "node:perf_hooks";
Свойства
loopCount: number Количество итераций цикла событий.
events: number Количество событий, обработанных обработчиком событий.
eventsWaiting: number Количество событий, ожидавших обработки на момент вызова поставщика событий.
пространство имён constants
Использование в Deno
import { constants } from "node:perf_hooks";
Переменные
псевдоним типа EntryType
Использование в Deno
import { type EntryType } from "node:perf_hooks";
Определение
"dns"
| "function"
| "gc"
| "http2"
| "http"
| "mark"
| "measure"
| "net"
| "node"
| "resource"
псевдоним типа EventLoopUtilityFunction
Использование в Deno
import { type EventLoopUtilityFunction } from "node:perf_hooks";
Определение
(
utilization1?: EventLoopUtilization,
utilization2?: EventLoopUtilization,
) => EventLoopUtilization псевдоним типа PerformanceObserverCallback
Использование в Deno
import { type PerformanceObserverCallback } from "node:perf_hooks";
Определение
(
list: PerformanceObserverEntryList,
observer: PerformanceObserver,
) => void переменная constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_FLAGS_FORCED
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_FLAGS_NO
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_INCREMENTAL
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_MAJOR
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_MINOR
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная constants.NODE_PERFORMANCE_GC_WEAKCB
Использование в Deno
import { constants } from "node:perf_hooks";
Тип
number переменная performance
Использование в Deno
import { performance } from "node:perf_hooks";
Тип
performance — глобальная ссылка на import { performance } from 'node:perf_hooks'
Тип
globalThis extends { onmessage: any; performance: infer T; } ? T : _performance См. также
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/perf_hooks