70 lines
2.7 KiB
TypeScript
70 lines
2.7 KiB
TypeScript
import { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation';
|
|
import { MongoDBInstrumentationConfig } from './types';
|
|
/** mongodb instrumentation plugin for OpenTelemetry */
|
|
export declare class MongoDBInstrumentation extends InstrumentationBase {
|
|
private _connectionsUsage;
|
|
private _poolName;
|
|
protected _config: MongoDBInstrumentationConfig;
|
|
constructor(config?: MongoDBInstrumentationConfig);
|
|
_updateMetricInstruments(): void;
|
|
init(): InstrumentationNodeModuleDefinition[];
|
|
private _getV3ConnectionPatches;
|
|
private _getV4SessionsPatches;
|
|
private _getV4AcquireCommand;
|
|
private _getV4ReleaseCommand;
|
|
private _getV4ConnectionPoolPatches;
|
|
private _getV4ConnectPatches;
|
|
private _getV4ConnectionPoolCheckOut;
|
|
private _getV4ConnectCommand;
|
|
private _getV4ConnectionPatches;
|
|
/** Creates spans for common operations */
|
|
private _getV3PatchOperation;
|
|
/** Creates spans for command operation */
|
|
private _getV3PatchCommand;
|
|
/** Creates spans for command operation */
|
|
private _getV4PatchCommandCallback;
|
|
private _getV4PatchCommandPromise;
|
|
/** Creates spans for find operation */
|
|
private _getV3PatchFind;
|
|
/** Creates spans for find operation */
|
|
private _getV3PatchCursor;
|
|
/**
|
|
* Get the mongodb command type from the object.
|
|
* @param command Internal mongodb command object
|
|
*/
|
|
private static _getCommandType;
|
|
/**
|
|
* Populate span's attributes by fetching related metadata from the context
|
|
* @param span span to add attributes to
|
|
* @param connectionCtx mongodb internal connection context
|
|
* @param ns mongodb namespace
|
|
* @param command mongodb internal representation of a command
|
|
*/
|
|
private _populateV4Attributes;
|
|
/**
|
|
* Populate span's attributes by fetching related metadata from the context
|
|
* @param span span to add attributes to
|
|
* @param ns mongodb namespace
|
|
* @param topology mongodb internal representation of the network topology
|
|
* @param command mongodb internal representation of a command
|
|
*/
|
|
private _populateV3Attributes;
|
|
private _addAllSpanAttributes;
|
|
private _defaultDbStatementSerializer;
|
|
private _scrubStatement;
|
|
/**
|
|
* Triggers the response hook in case it is defined.
|
|
* @param span The span to add the results to.
|
|
* @param result The command result
|
|
*/
|
|
private _handleExecutionResult;
|
|
/**
|
|
* Ends a created span.
|
|
* @param span The created span to end.
|
|
* @param resultHandler A callback function.
|
|
* @param connectionId: The connection ID of the Command response.
|
|
*/
|
|
private _patchEnd;
|
|
private setPoolName;
|
|
}
|
|
//# sourceMappingURL=instrumentation.d.ts.map
|