@types/node-memwatch
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

Installation

npm install --save @types/node-memwatch

Summary

This package contains type definitions for node-memwatch (https://github.com/eduardbcom/node-memwatch#readme).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-memwatch.

index.d.ts

/// <reference types="node" />

import { EventEmitter } from "events";

export = memwatch;

declare const memwatch: memwatch.MemWatch;

/**
 * Compare the state of your heap between two points in time, telling you what has been allocated, and what has been released.
 */
declare class HeapDiff {
    constructor();

    /**
     * Compute the diff.
     */
    end: () => memwatch.HeapDiffInformation;
}

declare namespace memwatch {
    interface MemWatch extends EventEmitter {
        on(eventName: "leak", callback: (event: LeakInformation) => void): this;
        on(eventName: "stats", callback: (event: StatsInformation) => void): this;

        /**
         * Force V8 to do a full GC and heap compaction.
         *
         * It's intended to be used for debugging. Calling it in production is highly discouraged.
         */
        gc(): void;

        HeapDiff: typeof HeapDiff;
    }

    interface StatsInformation {
        current_base: number;
        estimated_base: number;
        heap_compactions: number;
        max: number;
        min: number;
        num_full_gc: number;
        num_inc_gc: number;
        usage_trend: number;
    }

    interface LeakInformation {
        /**
         * Amount of heap growth in bytes.
         */
        growth: number;

        /**
         * Human-readable description.
         */
        reason: string;
    }

    interface HeapDiffInformation {
        before: HeapDiffSnapshot;
        after: HeapDiffSnapshot;
        change: HeapDiffChange;
    }

    interface HeapDiffSnapshot {
        nodes: number;
        size_bytes: number;
        size: string;
    }

    interface HeapDiffChange {
        size_bytes: number;
        size: string;
        freed_nodes: number;
        allocated_nodes: number;
        details: HeapDiffDetail[];
    }

    interface HeapDiffDetail {
        what: string;
        size_bytes: number;
        size: string;
        "+": number;
        "-": number;
    }
}

Additional Details

  • Last updated: Tue, 07 Nov 2023 09:09:39 GMT
  • Dependencies: @types/node

Credits

These definitions were written by Eunchong Yu.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/node-memwatch

Weekly Downloads

135

Version

1.0.4

License

MIT

Unpacked Size

6.6 kB

Total Files

5

Last publish

Collaborators

  • types