You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							62 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							62 lines
						
					
					
						
							1.9 KiB
						
					
					
				| "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;
 | |
|     }
 | |
| }
 | |
| exports.ConnectionPoolMetrics = ConnectionPoolMetrics;
 | |
| ConnectionPoolMetrics.TXN = 'txn';
 | |
| ConnectionPoolMetrics.CURSOR = 'cursor';
 | |
| ConnectionPoolMetrics.OTHER = 'other';
 | |
| //# sourceMappingURL=metrics.js.map
 |