unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
42 lines • 2.24 kB
TypeScript
import type { IUnleashConfig } from '../../../types/index.js';
import type { IUnleashStores } from '../../../types/index.js';
import type { ToggleMetricsSummary } from '../../../types/models/metrics.js';
import type { IClientMetricsEnv } from './client-metrics-store-v2-type.js';
import { type IApiUser } from '../../../types/api-user.js';
import type { IUser } from '../../../types/user.js';
import type { LastSeenService } from '../last-seen/last-seen-service.js';
import type { ClientMetricsSchema } from '../../../../lib/openapi/index.js';
import type { UnknownFlagsService } from '../unknown-flags/unknown-flags-service.js';
import { type Metric } from '../impact/metrics-translator.js';
export default class ClientMetricsServiceV2 {
private config;
private unsavedMetrics;
private clientMetricsStoreV2;
private lastSeenService;
private unknownFlagsService;
private flagResolver;
private logger;
private impactMetricsTranslator;
private cachedFeatureNames;
constructor({ clientMetricsStoreV2 }: Pick<IUnleashStores, 'clientMetricsStoreV2'>, config: IUnleashConfig, lastSeenService: LastSeenService, unknownFlagsService: UnknownFlagsService);
clearMetrics(hoursAgo: number): Promise<void>;
clearDailyMetrics(daysAgo: number): Promise<void>;
aggregateDailyMetrics(): Promise<void>;
filterExistingToggleNames(toggleNames: string[]): Promise<{
validatedToggleNames: string[];
unknownToggleNames: string[];
}>;
filterValidToggleNames(toggleNames: string[]): Promise<string[]>;
private siftMetrics;
registerBulkMetrics(metrics: IClientMetricsEnv[]): Promise<void>;
registerImpactMetrics(impactMetrics: Metric[]): Promise<void>;
registerClientMetrics(data: ClientMetricsSchema, clientIp: string): Promise<void>;
bulkAdd(): Promise<void>;
getFeatureToggleMetricsSummary(featureName: string): Promise<ToggleMetricsSummary>;
getClientMetricsForToggle(featureName: string, hoursBack?: number): Promise<IClientMetricsEnv[]>;
resolveMetricsEnvironment(user: IUser | IApiUser, data: {
environment?: string;
}): string;
resolveUserEnvironment(user: IUser | IApiUser): string;
}
//# sourceMappingURL=metrics-service-v2.d.ts.map