UNPKG

dynamodb-time-series-manager

Version:

Managing Time Series Statistics with TimeSeriesStatisticsManager and AWS DynamoDB

38 lines (37 loc) 1.22 kB
import { DynamoDBDocument } from "@aws-sdk/lib-dynamodb"; interface Statistic { topic: string; period: string; count: number; time_partition: number; } interface TimePartition { name: string; format: string; interval: number; } interface TimeSeriesStatisticsManagerOptions { table?: string; client?: DynamoDBDocument; timePartitions?: TimePartition[]; } export declare class TimeSeriesStatisticsManager { private client; private table; private state; private onReadyPromises; private timePartitions; constructor(options: TimeSeriesStatisticsManagerOptions); onReady(): Promise<void>; private resolveReadyPromises; private rejectReadyPromises; waitUntilTableExists(timeout?: number): Promise<void>; createTableIfNotExists(): Promise<void>; private createTopicPeriod; private getTimePartition; private getTimePartitionValue; addStatistic(topic: string, timestamp: number, amount?: number): Promise<void>; getStatisticsPeriod(topic: string, period: string, startTime: number, endTime: number): Promise<Statistic[]>; getStatistics(topic: string, startTime: number, endTime: number): Promise<Statistic[]>; } export {};