@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
46 lines • 1.4 kB
TypeScript
export type SamplingOperator = 'Equals' | 'NotEquals' | 'Contains' | 'StartsWith' | 'EndsWith' | 'In' | 'NotIn' | 'Regex' | 'GreaterThan' | 'LessThan' | 'GreaterThanEqual' | 'LessThanEqual';
export interface SamplingCondition {
attribute: string;
operator: SamplingOperator;
value?: string;
values?: string[];
}
export interface SamplingRuleConfig {
name?: string;
sampleRate?: number;
conditions: SamplingCondition[];
}
export interface SamplingConfig {
defaultRate?: number;
parentBased?: boolean;
rules?: SamplingRuleConfig[];
}
export declare enum CompositionMode {
SampleIfAny = "sample_if_any",
SampleIfAll = "sample_if_all"
}
export interface AccountProvider {
getDefaultRate(): number;
getSamplingRate(accountId: string): [number, boolean];
}
export interface AccountConfig {
defaultRate: number;
}
export interface StaticProviderConfig extends AccountConfig {
accounts: Record<string, number>;
}
export interface ConfigurableProviderConfig extends AccountConfig {
initialAccounts?: Record<string, number>;
}
export interface FileSourceConfig {
path: string;
refreshIntervalMs?: number;
}
export interface SamplerMetadataType {
samplerType: string;
decision: string;
reason: string;
extra: Record<string, string>;
toAttributes(): Record<string, any>;
}
//# sourceMappingURL=sampling.d.ts.map