Normally Pleasant Mixture

    uts2
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    μts2 Tests npm bundle size

    μts is a miniature time-series database utility suitable for embedded or frontend web applications, weighing in at about 1.5 KB minified and gzipped.

    This was originally written at Mixer.

    Installation

    npm install --save uts
    

    Usage

    Reading the source and the tests are the best way to see what it can do.

    μts is schemaless, data is arranged in points, which contain one more columns, within series. Aggregations can be run which operate on points or columns. Currently supported aggregations are:

    • db.max(column: string) extracts the maximum value for the column
    • db.minimum(column: string) extracts the minimum value for the column
    • db.mean(column: string) calculates the mean for the column
    • db.top(column: string) returns the most recent value in the column
    • db.derivative(column: string) calculates the change in a column
    • db.map(column: string) extracts a list of column values from points in the series
    • db.map(iterator: (pt: Point) => any) can extract any data you want from points in the series!
    • db.reduce(iterator: (current: T, pt: Point) => T, initial: T) can reduce a column to a single data point.
    import { TSDB } from "uts";
     
    const db = new TSDB();
     
    db.series('bandwidth').query({
      metrics: {
        mean: db.mean('bits'),
      },
      where: {
          time: { is: '>', than: Date.now() - 5 * 60 * 100 }
      },
      group: db.interval(30 * 1000, true),
    });
     
    // returns =>
     
    [
      {
        group: { start: 1459513952592, end: 1459513982592 },
        results: {
          mean: 3511
        }
      }
    ]

    Contributing

    This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

    When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

    This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

    Install

    npm i uts2

    DownloadsWeekly Downloads

    3

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    59.8 kB

    Total Files

    7

    Last publish

    Collaborators

    • connor.peet