@opentelemetry/instrumentation-oracledb
Version:
OpenTelemetry instrumentation for `oracledb` database client for Oracle DB
73 lines • 2.27 kB
TypeScript
import type * as api from '@opentelemetry/api';
import { InstrumentationConfig } from '@opentelemetry/instrumentation';
export interface SpanConnectionConfig {
serviceName?: string;
connectString?: string;
hostName?: string;
port?: number;
user?: string;
protocol?: string;
instanceName?: string;
serverMode?: string;
pdbName?: string;
poolMin?: number;
poolMax?: number;
poolIncrement?: number;
}
export interface OracleRequestHookInformation {
inputArgs: any;
connection: SpanConnectionConfig;
}
export interface OracleInstrumentationExecutionRequestHook {
(span: api.Span, queryInfo: OracleRequestHookInformation): void;
}
export interface OracleResponseHookInformation {
data: any;
}
export interface OracleInstrumentationExecutionResponseHook {
(span: api.Span, resultInfo: OracleResponseHookInformation): void;
}
export interface OracleInstrumentationConfig extends InstrumentationConfig {
/**
* If true, an attribute containing the execute method
* bind values will be attached the spans generated.
* It can potentially record PII data and should be used with caution.
*
* @default false
*/
enhancedDatabaseReporting?: boolean;
/**
* If true, db.statement will have sql which could potentially contain
* sensitive unparameterized data in the spans generated.
*
* @default false
*/
dbStatementDump?: boolean;
/**
* Hook that allows adding custom span attributes or updating the
* span's name based on the data about the query to execute.
*
* @default undefined
*/
requestHook?: OracleInstrumentationExecutionRequestHook;
/**
* Hook that allows adding custom span attributes based on the data
* returned from "execute" actions.
*
* @default undefined
*/
responseHook?: OracleInstrumentationExecutionResponseHook;
/**
* If true, requires a parent span to create new spans.
*
* @default false
*/
requireParentSpan?: boolean;
/**
* Automatic propagation of trace context using V$SESSION.ACTION.
*
* @default false
*/
propagateTraceContextToSessionAction?: boolean;
}
//# sourceMappingURL=types.d.ts.map