1 | import dgram = require("dgram");
|
2 |
|
3 | declare module "hot-shots" {
|
4 | export type Tags = { [key: string]: string } | string[];
|
5 | export interface ClientOptions {
|
6 | bufferFlushInterval?: number;
|
7 | bufferHolder?: { buffer: string };
|
8 | cacheDns?: boolean;
|
9 | errorHandler?: (err: Error) => void;
|
10 | globalTags?: Tags;
|
11 | globalize?: boolean;
|
12 | host?: string;
|
13 | isChild?: boolean;
|
14 | maxBufferSize?: number;
|
15 | mock?: boolean;
|
16 | port?: number;
|
17 | prefix?: string;
|
18 | sampleRate?: number;
|
19 | socket?: dgram.Socket;
|
20 | suffix?: string;
|
21 | telegraf?: boolean;
|
22 | useDefaultRoute?: boolean;
|
23 | }
|
24 |
|
25 | export interface ChildClientOptions {
|
26 | globalTags?: Tags;
|
27 | prefix?: string;
|
28 | suffix?: string;
|
29 | }
|
30 |
|
31 | export interface CheckOptions {
|
32 | date_happened?: Date;
|
33 | hostname?: string;
|
34 | message?: string;
|
35 | }
|
36 |
|
37 | export interface DatadogChecks {
|
38 | OK: 0;
|
39 | WARNING: 1;
|
40 | CRITICAL: 2;
|
41 | UNKNOWN: 3;
|
42 | }
|
43 |
|
44 | type unionFromInterfaceValues4<
|
45 | T,
|
46 | K1 extends keyof T,
|
47 | K2 extends keyof T,
|
48 | K3 extends keyof T,
|
49 | K4 extends keyof T,
|
50 | > = T[K1] | T[K2] | T[K3] | T[K4];
|
51 |
|
52 | export type DatadogChecksValues = unionFromInterfaceValues4<DatadogChecks, "OK", "WARNING", "CRITICAL", "UNKNOWN">;
|
53 |
|
54 | export interface EventOptions {
|
55 | aggregation_key?: string;
|
56 | alert_type?: "info" | "warning" | "success" | "error";
|
57 | date_happened?: Date;
|
58 | hostname?: string;
|
59 | priority?: "low" | "normal";
|
60 | source_type_name?: string;
|
61 | }
|
62 |
|
63 | export type StatsCb = (error: Error | undefined, bytes: any) => void;
|
64 |
|
65 | export class StatsD {
|
66 | constructor(options?: ClientOptions);
|
67 | childClient(options?: ChildClientOptions): StatsD;
|
68 |
|
69 | increment(stat: string, tags?: Tags): void;
|
70 | increment(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
71 | increment(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
72 | increment(stat: string | string[], value: number, callback?: StatsCb): void;
|
73 | increment(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
74 |
|
75 | decrement(stat: string): void;
|
76 | decrement(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
77 | decrement(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
78 | decrement(stat: string | string[], value: number, callback?: StatsCb): void;
|
79 | decrement(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
80 |
|
81 | timing(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
82 | timing(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
83 | timing(stat: string | string[], value: number, callback?: StatsCb): void;
|
84 | timing(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
85 |
|
86 | timer(func: (...args: any[]) => any, stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): (...args: any[]) => any;
|
87 | timer(func: (...args: any[]) => any, stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): (...args: any[]) => any;
|
88 | timer(func: (...args: any[]) => any, stat: string | string[], value: number, callback?: StatsCb): (...args: any[]) => any;
|
89 | timer(func: (...args: any[]) => any, stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): (...args: any[]) => any;
|
90 |
|
91 | asyncTimer<T>(func: (...args: any[]) => Promise<T>, stat: string | string[], sampleRate?: number, tags?: Tags, callback?: StatsCb): (...args: any[]) => Promise<T>;
|
92 | asyncTimer<T>(func: (...args: any[]) => Promise<T>, stat: string | string[], tags?: Tags, callback?: StatsCb): (...args: any[]) => Promise<T>;
|
93 | asyncTimer<T>(func: (...args: any[]) => Promise<T>, stat: string | string[], callback?: StatsCb): (...args: any[]) => Promise<T>;
|
94 | asyncTimer<T>(func: (...args: any[]) => Promise<T>, stat: string | string[], sampleRate?: number, callback?: StatsCb): (...args: any[]) => Promise<T>;
|
95 |
|
96 | histogram(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
97 | histogram(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
98 | histogram(stat: string | string[], value: number, callback?: StatsCb): void;
|
99 | histogram(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
100 |
|
101 | distribution(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
102 | distribution(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
103 | distribution(stat: string | string[], value: number, callback?: StatsCb): void;
|
104 | distribution(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
105 |
|
106 | gauge(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
107 | gauge(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
108 | gauge(stat: string | string[], value: number, callback?: StatsCb): void;
|
109 | gauge(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
110 |
|
111 | set(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
112 | set(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
113 | set(stat: string | string[], value: number, callback?: StatsCb): void;
|
114 | set(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
115 |
|
116 | unique(stat: string | string[], value: number, sampleRate?: number, tags?: Tags, callback?: StatsCb): void;
|
117 | unique(stat: string | string[], value: number, tags?: Tags, callback?: StatsCb): void;
|
118 | unique(stat: string | string[], value: number, callback?: StatsCb): void;
|
119 | unique(stat: string | string[], value: number, sampleRate?: number, callback?: StatsCb): void;
|
120 |
|
121 | close(callback: (error?: Error) => void): void;
|
122 |
|
123 | event(title: string, text?: string, options?: EventOptions, tags?: Tags, callback?: StatsCb): void;
|
124 | event(title: string, text?: string, options?: EventOptions, callback?: StatsCb): void;
|
125 | check(name: string, status: DatadogChecksValues, options?: CheckOptions, tags?: Tags, callback?: StatsCb): void;
|
126 |
|
127 | public CHECKS: DatadogChecks;
|
128 | public socket: dgram.Socket;
|
129 | }
|
130 | }
|
131 |
|
132 | declare const StatsDClient: StatsD;
|
133 | export default StatsDClient;
|