@atomist/automation-client
Version:
Atomist API for software low-level client
43 lines • 1.9 kB
TypeScript
import { Configuration } from "../../configuration";
export declare type StatsDClientStat = string | string[];
export declare type StatsDClientTags = {
[key: string]: string;
} | string[];
export declare type StatsDClientCallback = (err?: Error) => void;
export interface StatsDClientOptions {
host?: string;
port?: number;
prefix?: string;
suffix?: string;
globalTags?: string[];
additionalOptions?: {
[key: string]: string;
};
}
export interface StatsDClient {
increment(stat: StatsDClientStat, value: number, sampleRate?: number, tags?: StatsDClientTags, callback?: StatsDClientCallback): void;
timing(stat: StatsDClientStat, value: number, sampleRate?: number, tags?: StatsDClientTags, callback?: StatsDClientCallback): void;
gauge(stat: StatsDClientStat, value: number, sampleRate?: number, tags?: StatsDClientTags, callback?: StatsDClientCallback): void;
event?(stat: StatsDClientStat, text?: string, options?: {}, tags?: StatsDClientTags, callback?: StatsDClientCallback): void;
close(callback: StatsDClientCallback): void;
}
/**
* Factory to construct StatsDClient instances.
*/
export interface StatsDClientFactory {
/**
* Create a StatsDClient with the given options.
* @param {StatsDClientOptions} url
* @returns {HttpClient}
*/
create(clientOptions: StatsDClientOptions): StatsDClient;
}
export declare function defaultStatsDClientOptions(configuration: Configuration): StatsDClientOptions;
export declare class HotShotStatsDClientFactory implements StatsDClientFactory {
create(clientOptions: StatsDClientOptions): StatsDClient;
}
export declare class NodeStatsDClientFactory implements StatsDClientFactory {
create(clientOptions: StatsDClientOptions): StatsDClient;
}
export declare const DefaultStatsDClientFactory: HotShotStatsDClientFactory;
//# sourceMappingURL=statsdClient.d.ts.map