/// import { InstrumentationConfig } from '@opentelemetry/instrumentation'; import { Span } from '@opentelemetry/api'; export declare type CommandArgs = Array; /** * Function that can be used to serialize db.statement tag * @param cmdName - The name of the command (eg. set, get, mset) * @param cmdArgs - Array of arguments passed to the command * * @returns serialized string that will be used as the db.statement attribute. */ export declare type DbStatementSerializer = (cmdName: string, cmdArgs: CommandArgs) => string; export interface IORedisRequestHookInformation { moduleVersion?: string; cmdName: string; cmdArgs: CommandArgs; } export interface RedisRequestCustomAttributeFunction { (span: Span, requestInfo: IORedisRequestHookInformation): void; } /** * Function that can be used to add custom attributes to span on response from redis server * @param span - The span created for the redis command, on which attributes can be set * @param cmdName - The name of the command (eg. set, get, mset) * @param cmdArgs - Array of arguments passed to the command * @param response - The response object which is returned to the user who called this command. * Can be used to set custom attributes on the span. * The type of the response varies depending on the specific command. */ export interface RedisResponseCustomAttributeFunction { (span: Span, cmdName: string, cmdArgs: CommandArgs, response: unknown): void; } /** * Options available for the IORedis Instrumentation (see [documentation](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-ioredis/README.md#ioredis-instrumentation-options)) */ export interface IORedisInstrumentationConfig extends InstrumentationConfig { /** Custom serializer function for the db.statement tag */ dbStatementSerializer?: DbStatementSerializer; /** Function for adding custom attributes on db request */ requestHook?: RedisRequestCustomAttributeFunction; /** Function for adding custom attributes on db response */ responseHook?: RedisResponseCustomAttributeFunction; /** Require parent to create ioredis span, default when unset is true */ requireParentSpan?: boolean; } //# sourceMappingURL=types.d.ts.map