dynamodb-time-series-manager
v1.0.4
Published
Managing Time Series Statistics with TimeSeriesStatisticsManager and AWS DynamoDB
Downloads
1
Maintainers
Readme
Time Series Statistics Manager
A simple and efficient library for managing time series statistics using AWS DynamoDB. It is based on the implementation described in this blog post.
Table of Contents
Introduction
The TimeSeriesStatisticsManager is a TypeScript library designed to manage time series statistics using AWS DynamoDB. It provides an easy-to-use interface for adding and retrieving statistics, with built-in support for multiple time partitions, such as minutes, hours, days, months, and years.
Installation
Install the library using npm:
npm install dynamodb-time-series-manager
Usage
First, import the TimeSeriesStatisticsManager class and create a new instance with your desired options:
import { TimeSeriesStatisticsManager } from 'time-series-statistics-manager';
// Create a new instance of the TimeSeriesStatisticsManager:
const manager = new TimeSeriesStatisticsManager({});
// Add a statistic:
await manager.addStatistic("example_topic", Date.now());
// Get statistics:
const stats = await manager.getStatistics("example_topic", startTime, endTime);
Components of the TimeSeriesStatisticsManager
- TimeSeriesStatisticsManagerOptions: An object that you can use to configure the TimeSeriesStatisticsManager. It includes the following optional properties: table, client, and timePartitions.
- Statistic: An object representing a single statistic, which includes topic, period, count, and time_partition properties.
- TimePartition: An object that represents a time partition, which includes name, format, and interval properties.
Example
Here's a simple example demonstrating how to use the TimeSeriesStatisticsManager:
import { TimeSeriesStatisticsManager } from 'time-series-statistics-manager';
const manager = new TimeSeriesStatisticsManager({});
(async () => {
await manager.addStatistic("example_topic", Date.now());
const startTime = Date.now() - (60 * 60 * 1000); // 1 hour ago
const endTime = Date.now();
const stats = await manager.getStatistics("example_topic", startTime, endTime);
console.log(stats);
})();
Conclusion
The TimeSeriesStatisticsManager provides a simple and efficient way to manage time series statistics using AWS DynamoDB. With built-in support for multiple time partitions, it makes it easy to add and retrieve statistics for various time ranges. Give it a try and see how it can help you manage your time series data.