| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.ConnectionPoolMetrics = void 0;/** @internal */class ConnectionPoolMetrics {    constructor() {        this.txnConnections = 0;        this.cursorConnections = 0;        this.otherConnections = 0;    }    /**     * Mark a connection as pinned for a specific operation.     */    markPinned(pinType) {        if (pinType === ConnectionPoolMetrics.TXN) {            this.txnConnections += 1;        }        else if (pinType === ConnectionPoolMetrics.CURSOR) {            this.cursorConnections += 1;        }        else {            this.otherConnections += 1;        }    }    /**     * Unmark a connection as pinned for an operation.     */    markUnpinned(pinType) {        if (pinType === ConnectionPoolMetrics.TXN) {            this.txnConnections -= 1;        }        else if (pinType === ConnectionPoolMetrics.CURSOR) {            this.cursorConnections -= 1;        }        else {            this.otherConnections -= 1;        }    }    /**     * Return information about the cmap metrics as a string.     */    info(maxPoolSize) {        return ('Timed out while checking out a connection from connection pool: ' +            `maxPoolSize: ${maxPoolSize}, ` +            `connections in use by cursors: ${this.cursorConnections}, ` +            `connections in use by transactions: ${this.txnConnections}, ` +            `connections in use by other operations: ${this.otherConnections}`);    }    /**     * Reset the metrics to the initial values.     */    reset() {        this.txnConnections = 0;        this.cursorConnections = 0;        this.otherConnections = 0;    }}ConnectionPoolMetrics.TXN = 'txn';ConnectionPoolMetrics.CURSOR = 'cursor';ConnectionPoolMetrics.OTHER = 'other';exports.ConnectionPoolMetrics = ConnectionPoolMetrics;//# sourceMappingURL=metrics.js.map
 |