-
Notifications
You must be signed in to change notification settings - Fork 48
Expand file tree
/
Copy pathIClientContext.ts
More file actions
53 lines (42 loc) · 1.48 KB
/
IClientContext.ts
File metadata and controls
53 lines (42 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import IDBSQLLogger from './IDBSQLLogger';
import IDriver from './IDriver';
import IConnectionProvider from '../connection/contracts/IConnectionProvider';
import IThriftClient from './IThriftClient';
export interface ClientConfig {
directResultsDefaultMaxRows: number;
fetchChunkDefaultMaxRows: number;
arrowEnabled?: boolean;
useArrowNativeTypes?: boolean;
socketTimeout: number;
retryMaxAttempts: number;
retriesTimeout: number; // in milliseconds
retryDelayMin: number; // in milliseconds
retryDelayMax: number; // in milliseconds
useCloudFetch: boolean;
cloudFetchConcurrentDownloads: number;
cloudFetchSpeedThresholdMBps: number;
useLZ4Compression: boolean;
enableMetricViewMetadata?: boolean;
// Telemetry configuration
telemetryEnabled?: boolean;
telemetryBatchSize?: number;
telemetryFlushIntervalMs?: number;
telemetryMaxRetries?: number;
telemetryBackoffBaseMs?: number;
telemetryBackoffMaxMs?: number;
telemetryBackoffJitterMs?: number;
telemetryAuthenticatedExport?: boolean;
telemetryCircuitBreakerThreshold?: number;
telemetryCircuitBreakerTimeout?: number;
telemetryMaxPendingMetrics?: number;
telemetryMaxErrorsPerStatement?: number;
telemetryStatementTtlMs?: number;
userAgentEntry?: string;
}
export default interface IClientContext {
getConfig(): ClientConfig;
getLogger(): IDBSQLLogger;
getConnectionProvider(): Promise<IConnectionProvider>;
getClient(): Promise<IThriftClient>;
getDriver(): Promise<IDriver>;
}