dynamodb-time-series-manager
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

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

  1. Introduction
  2. Installation
  3. Usage
  4. Components of the TimeSeriesStatisticsManager
  5. Example
  6. Conclusion

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

  1. TimeSeriesStatisticsManagerOptions: An object that you can use to configure the TimeSeriesStatisticsManager. It includes the following optional properties: table, client, and timePartitions.
  2. Statistic: An object representing a single statistic, which includes topic, period, count, and time_partition properties.
  3. 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.

Package Sidebar

Install

npm i dynamodb-time-series-manager

Weekly Downloads

1

Version

1.0.4

License

MIT

Unpacked Size

15.6 kB

Total Files

6

Last publish

Collaborators

  • gboysking