k6-perf-reporter 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +54 -0
- package/.config.example.json +8 -0
- package/.config.json +8 -0
- package/.eslintrc.json +18 -0
- package/.github/workflows/build.yml +30 -0
- package/.github/workflows/release.yml +44 -0
- package/README.md +449 -0
- package/dist/cli-reporter.d.ts +5 -0
- package/dist/cli-reporter.d.ts.map +1 -0
- package/dist/cli-reporter.js +71 -0
- package/dist/cli-reporter.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +43 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +26 -0
- package/dist/config.js.map +1 -0
- package/dist/data-collector.d.ts +14 -0
- package/dist/data-collector.d.ts.map +1 -0
- package/dist/data-collector.js +51 -0
- package/dist/data-collector.js.map +1 -0
- package/dist/data-extractor.d.ts +31 -0
- package/dist/data-extractor.d.ts.map +1 -0
- package/dist/data-extractor.js +250 -0
- package/dist/data-extractor.js.map +1 -0
- package/dist/explore.d.ts +2 -0
- package/dist/explore.d.ts.map +1 -0
- package/dist/explore.js +27 -0
- package/dist/explore.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/influx-client.d.ts +16 -0
- package/dist/influx-client.d.ts.map +1 -0
- package/dist/influx-client.interface.d.ts +21 -0
- package/dist/influx-client.interface.d.ts.map +1 -0
- package/dist/influx-client.interface.js +3 -0
- package/dist/influx-client.interface.js.map +1 -0
- package/dist/influx-client.js +35 -0
- package/dist/influx-client.js.map +1 -0
- package/dist/influx-data-extractor.d.ts +112 -0
- package/dist/influx-data-extractor.d.ts.map +1 -0
- package/dist/influx-data-extractor.interface.d.ts +21 -0
- package/dist/influx-data-extractor.interface.d.ts.map +1 -0
- package/dist/influx-data-extractor.interface.js +3 -0
- package/dist/influx-data-extractor.interface.js.map +1 -0
- package/dist/influx-data-extractor.js +445 -0
- package/dist/influx-data-extractor.js.map +1 -0
- package/dist/influx.d.ts +122 -0
- package/dist/influx.d.ts.map +1 -0
- package/dist/influx.js +899 -0
- package/dist/influx.js.map +1 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +12 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics-collector.d.ts +10 -0
- package/dist/metrics-collector.d.ts.map +1 -0
- package/dist/metrics-collector.js +99 -0
- package/dist/metrics-collector.js.map +1 -0
- package/dist/metrics-collector.test.d.ts +2 -0
- package/dist/metrics-collector.test.d.ts.map +1 -0
- package/dist/metrics-collector.test.js +235 -0
- package/dist/metrics-collector.test.js.map +1 -0
- package/dist/reporters/cli-reporter.d.ts +9 -0
- package/dist/reporters/cli-reporter.d.ts.map +1 -0
- package/dist/reporters/cli-reporter.js +141 -0
- package/dist/reporters/cli-reporter.js.map +1 -0
- package/dist/reporters/cli.d.ts +5 -0
- package/dist/reporters/cli.d.ts.map +1 -0
- package/dist/reporters/cli.js +150 -0
- package/dist/reporters/cli.js.map +1 -0
- package/dist/reporters/index.d.ts +3 -0
- package/dist/reporters/index.d.ts.map +1 -0
- package/dist/reporters/index.js +8 -0
- package/dist/reporters/index.js.map +1 -0
- package/dist/reporters/json-reporter.d.ts +5 -0
- package/dist/reporters/json-reporter.d.ts.map +1 -0
- package/dist/reporters/json-reporter.js +18 -0
- package/dist/reporters/json-reporter.js.map +1 -0
- package/dist/reporters/json.d.ts +5 -0
- package/dist/reporters/json.d.ts.map +1 -0
- package/dist/reporters/json.js +70 -0
- package/dist/reporters/json.js.map +1 -0
- package/dist/reporters/markdown.d.ts +5 -0
- package/dist/reporters/markdown.d.ts.map +1 -0
- package/dist/reporters/markdown.js +87 -0
- package/dist/reporters/markdown.js.map +1 -0
- package/dist/reports.d.ts +11 -0
- package/dist/reports.d.ts.map +1 -0
- package/dist/reports.js +325 -0
- package/dist/reports.js.map +1 -0
- package/dist/types.d.ts +113 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +19 -0
- package/dist/utils.js.map +1 -0
- package/package.json +33 -0
- package/src/cli.ts +47 -0
- package/src/config.ts +31 -0
- package/src/data-collector.ts +66 -0
- package/src/influx-client.ts +48 -0
- package/src/influx-data-extractor.ts +722 -0
- package/src/reporters/cli-reporter.ts +169 -0
- package/src/reporters/index.ts +2 -0
- package/src/reporters/json-reporter.ts +15 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { InfluxDB, QueryApi } from "@influxdata/influxdb-client";
|
|
2
|
+
import { InfluxConfig } from "./config";
|
|
3
|
+
|
|
4
|
+
export interface QueryRow {
|
|
5
|
+
values: (string | number | boolean | null)[];
|
|
6
|
+
tableMeta?: {
|
|
7
|
+
columns: Array<{ label: string }>;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class InfluxClient {
|
|
12
|
+
private influxDB: InfluxDB;
|
|
13
|
+
private queryApi: QueryApi;
|
|
14
|
+
|
|
15
|
+
constructor(config: InfluxConfig) {
|
|
16
|
+
this.influxDB = new InfluxDB({
|
|
17
|
+
url: config.url,
|
|
18
|
+
token: config.token,
|
|
19
|
+
});
|
|
20
|
+
this.queryApi = this.influxDB.getQueryApi(config.org);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async queryData(
|
|
24
|
+
flux: string
|
|
25
|
+
): Promise<Array<Record<string, string | number | boolean | null>>> {
|
|
26
|
+
const result: Array<Record<string, string | number | boolean | null>> = [];
|
|
27
|
+
|
|
28
|
+
return new Promise<Array<Record<string, string | number | boolean | null>>>(
|
|
29
|
+
(resolve, reject) => {
|
|
30
|
+
this.queryApi.queryRows(flux, {
|
|
31
|
+
next: (row: string[], tableMeta) => {
|
|
32
|
+
const record: Record<string, string | number | boolean | null> = {};
|
|
33
|
+
tableMeta.columns.forEach((col, index) => {
|
|
34
|
+
record[col.label] = row[index];
|
|
35
|
+
});
|
|
36
|
+
result.push(record);
|
|
37
|
+
},
|
|
38
|
+
error: (error: Error) => {
|
|
39
|
+
reject(error);
|
|
40
|
+
},
|
|
41
|
+
complete: () => {
|
|
42
|
+
resolve(result);
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
}
|