Skip to content

A golem for generating timeseries(using opentelemetry) with different patterns at scale.

Notifications You must be signed in to change notification settings

pree-dew/timeseries_golem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timeseries Golem

Timeseries Golem is a Python library designed to emit metric signals as per the given instruction, just like a golem.

It is useful when:

  1. Specific signal patterns are required to test time-series use cases like alerting, anomaly, etc.
  2. Specific types of distribution are required to test its behavior.
  3. Opentelemetry output needs to be tested against any backend at scale.

It emits metrics to a remote write location such as Levitate using Prometheus Remote Write.

Prerequisites

Install the Snappy C Library with the following commands

DEB-based $ sudo apt-get install libsnappy-dev

RPM-based $ sudo yum install csnappy-devel

Alpine (Docker) RUN apk add --no-cache snappy-dev g++

openSUSE $ sudo zypper in snappy-devel

MacOS Intel

$ brew install snappy
$ CPPFLAGS="-I/usr/local/include -L/usr/local/lib" pip install python-snappy

MacOS Apple Silicon

$ brew install snappy
$ CPPFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" pip install python-snappy

Installation

$ make setup

Usage

$ docker build -t ts_golem .
$ docker run ts_golem <commands_as_per_below_use_cases>

Use Cases

To validate signal configuration:

$ docker run ts_golem ts_golem validate -sg signal_details.json

To generate time series:

$ docker run ts_golem ts_golem generate -sg signal_details.json -cf exporter_config.json

To generate time series with hot reload for signal_details json:

$ docker run ts_golem ts_golem generate -sg signal_details.json -cf exporter_config.json --reload

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

A golem for generating timeseries(using opentelemetry) with different patterns at scale.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published