From de97390d1e910a894e914c3c246488e556d6c872 Mon Sep 17 00:00:00 2001 From: rozetko Date: Fri, 12 Aug 2022 19:40:14 +0300 Subject: [PATCH] sample bin file --- src/tsdb-kit/index.ts | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/tsdb-kit/index.ts b/src/tsdb-kit/index.ts index 7bc4a71..c749c88 100644 --- a/src/tsdb-kit/index.ts +++ b/src/tsdb-kit/index.ts @@ -1 +1,33 @@ -console.log('Hello world'); +import { PrometheusMetric } from '../metrics/prometheus_metric'; + +import axios from 'axios'; +import * as _ from 'lodash'; + + +// TODO: these `const`s should be CLI arguments +const PROMETHEUS_URL = 'http://localhost:9090'; +const FROM = 1660307430000; // ms +const TO = 1660307437000; // ms + +const datasource = { + type: 'prometheus', + url: 'api/v1/query_range?query=100-(avg by (instance) (irate(node_cpu_seconds_total{job="nvicta-ai-node-exporter",mode="idle"}[5m])) * 100)&start=1543411320&end=1543432950&step=30' +} +const targets = []; +const prometheus = new PrometheusMetric(datasource, targets); + +const query = prometheus.getQuery(FROM, TO, 1000, 0); +const axiosQuery = { + url: `${PROMETHEUS_URL}/${query.url}`, + method: query.method, +}; +_.defaults(axiosQuery, query.schema); + +axios(axiosQuery) + .then(resp => { + console.log(prometheus.getResults(resp)); + }) + .catch(err => { + console.error('Query error: ', err); + }); +