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,21 @@
|
|
|
1
|
+
import { ResponseTimePercentiles, RequestStats, VUsStats, ChecksStats, DataTransferStats, ErrorDetail, EndpointSummary, ErrorEndpointSummary, ErrorEndpointDetailedSummary, HttpPhaseStats, SlowestRequest, RpsEndpointStats } from "./types";
|
|
2
|
+
export interface IInfluxQueryClient {
|
|
3
|
+
getResponseTimePercentiles(startTime: string, endTime: string, runId?: string): Promise<ResponseTimePercentiles>;
|
|
4
|
+
getRequestStats(startTime: string, endTime: string, runId?: string): Promise<RequestStats>;
|
|
5
|
+
getVUsStats(startTime: string, endTime: string): Promise<VUsStats>;
|
|
6
|
+
getPodCount(startTime: string, endTime: string): Promise<number>;
|
|
7
|
+
getDroppedIterations(startTime: string, endTime: string, runId?: string): Promise<number>;
|
|
8
|
+
getSlowestRequests(startTime: string, endTime: string, topN: number, runId?: string): Promise<SlowestRequest[]>;
|
|
9
|
+
getIterationDurationPercentiles(startTime: string, endTime: string, runId?: string): Promise<ResponseTimePercentiles>;
|
|
10
|
+
getChecksStats(startTime: string, endTime: string, runId?: string): Promise<ChecksStats>;
|
|
11
|
+
getHttpPhaseStats(startTime: string, endTime: string, runId?: string): Promise<Record<string, HttpPhaseStats>>;
|
|
12
|
+
getDataTransferStats(startTime: string, endTime: string, runId?: string): Promise<DataTransferStats>;
|
|
13
|
+
getRequestsByEndpoint(startTime: string, endTime: string, runId?: string): Promise<Record<string, number>>;
|
|
14
|
+
getRpsPerEndpoint(startTime: string, endTime: string, runId?: string): Promise<Record<string, RpsEndpointStats>>;
|
|
15
|
+
getRequestsSummary(startTime: string, endTime: string, runId?: string): Promise<Record<string, EndpointSummary>>;
|
|
16
|
+
getErrorBreakdown(startTime: string, endTime: string, runId?: string): Promise<Record<string, number>>;
|
|
17
|
+
getErrorDetails(startTime: string, endTime: string, runId?: string): Promise<ErrorDetail[]>;
|
|
18
|
+
getErrorRequestsSummary(startTime: string, endTime: string, runId?: string): Promise<Record<string, ErrorEndpointSummary>>;
|
|
19
|
+
getErrorRequestsDetailedSummary(startTime: string, endTime: string, runId?: string): Promise<ErrorEndpointDetailedSummary[]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=influx-client.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influx-client.interface.d.ts","sourceRoot":"","sources":["../src/influx-client.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influx-client.interface.js","sourceRoot":"","sources":["../src/influx-client.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InfluxClient = void 0;
|
|
4
|
+
const influxdb_client_1 = require("@influxdata/influxdb-client");
|
|
5
|
+
class InfluxClient {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.influxDB = new influxdb_client_1.InfluxDB({
|
|
8
|
+
url: config.url,
|
|
9
|
+
token: config.token,
|
|
10
|
+
});
|
|
11
|
+
this.queryApi = this.influxDB.getQueryApi(config.org);
|
|
12
|
+
}
|
|
13
|
+
async queryData(flux) {
|
|
14
|
+
const result = [];
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
this.queryApi.queryRows(flux, {
|
|
17
|
+
next: (row, tableMeta) => {
|
|
18
|
+
const record = {};
|
|
19
|
+
tableMeta.columns.forEach((col, index) => {
|
|
20
|
+
record[col.label] = row[index];
|
|
21
|
+
});
|
|
22
|
+
result.push(record);
|
|
23
|
+
},
|
|
24
|
+
error: (error) => {
|
|
25
|
+
reject(error);
|
|
26
|
+
},
|
|
27
|
+
complete: () => {
|
|
28
|
+
resolve(result);
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.InfluxClient = InfluxClient;
|
|
35
|
+
//# sourceMappingURL=influx-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influx-client.js","sourceRoot":"","sources":["../src/influx-client.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AAUjE,MAAa,YAAY;IAIvB,YAAY,MAAoB;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAQ,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY;QAEZ,MAAM,MAAM,GAA4D,EAAE,CAAC;QAE3E,OAAO,IAAI,OAAO,CAChB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC5B,IAAI,EAAE,CAAC,GAAa,EAAE,SAAS,EAAE,EAAE;oBACjC,MAAM,MAAM,GAAqD,EAAE,CAAC;oBACpE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;wBACvC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBACD,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;oBACtB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE;oBACb,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AArCD,oCAqCC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { InfluxConfig } from "./config";
|
|
2
|
+
export interface HttpReqsMetric {
|
|
3
|
+
total: number;
|
|
4
|
+
rate: number;
|
|
5
|
+
}
|
|
6
|
+
export interface VusMetric {
|
|
7
|
+
current: number;
|
|
8
|
+
min: number;
|
|
9
|
+
max: number;
|
|
10
|
+
}
|
|
11
|
+
export interface VusMaxMetric {
|
|
12
|
+
min: number;
|
|
13
|
+
max: number;
|
|
14
|
+
}
|
|
15
|
+
export interface IterationsMetric {
|
|
16
|
+
total: number;
|
|
17
|
+
rate: number;
|
|
18
|
+
}
|
|
19
|
+
export interface DurationMetric {
|
|
20
|
+
startTime: string;
|
|
21
|
+
endTime: string;
|
|
22
|
+
durationSeconds: number;
|
|
23
|
+
}
|
|
24
|
+
export interface ChecksMetric {
|
|
25
|
+
passes: number;
|
|
26
|
+
fails: number;
|
|
27
|
+
passRate: number;
|
|
28
|
+
}
|
|
29
|
+
export interface HttpReqFailedMetric {
|
|
30
|
+
total: number;
|
|
31
|
+
failed: number;
|
|
32
|
+
failureRate: number;
|
|
33
|
+
}
|
|
34
|
+
export interface HttpReqDurationMetric {
|
|
35
|
+
avg: number;
|
|
36
|
+
min: number;
|
|
37
|
+
med: number;
|
|
38
|
+
max: number;
|
|
39
|
+
p90: number;
|
|
40
|
+
p95: number;
|
|
41
|
+
}
|
|
42
|
+
export interface IterationDurationMetric {
|
|
43
|
+
avg: number;
|
|
44
|
+
min: number;
|
|
45
|
+
med: number;
|
|
46
|
+
max: number;
|
|
47
|
+
p90: number;
|
|
48
|
+
p95: number;
|
|
49
|
+
}
|
|
50
|
+
export interface ErrorResponsesMetric {
|
|
51
|
+
count: number;
|
|
52
|
+
rate: number;
|
|
53
|
+
}
|
|
54
|
+
export interface TopSlowUrlMetric {
|
|
55
|
+
method: string;
|
|
56
|
+
url: string;
|
|
57
|
+
p95Duration: number;
|
|
58
|
+
}
|
|
59
|
+
export interface TopSlowUrlsMetric {
|
|
60
|
+
urls: TopSlowUrlMetric[];
|
|
61
|
+
}
|
|
62
|
+
export interface ErrorRequestMetric {
|
|
63
|
+
method: string;
|
|
64
|
+
url: string;
|
|
65
|
+
status: number;
|
|
66
|
+
p95Duration: number;
|
|
67
|
+
count: number;
|
|
68
|
+
}
|
|
69
|
+
export interface ErrorRequestsMetric {
|
|
70
|
+
errors: ErrorRequestMetric[];
|
|
71
|
+
}
|
|
72
|
+
export interface SuccessRequestMetric {
|
|
73
|
+
method: string;
|
|
74
|
+
url: string;
|
|
75
|
+
status: number;
|
|
76
|
+
count: number;
|
|
77
|
+
min: number;
|
|
78
|
+
avg: number;
|
|
79
|
+
p95: number;
|
|
80
|
+
}
|
|
81
|
+
export interface SuccessRequestsMetric {
|
|
82
|
+
requests: SuccessRequestMetric[];
|
|
83
|
+
}
|
|
84
|
+
export interface ErrorResponseMetric {
|
|
85
|
+
url: string;
|
|
86
|
+
method: string;
|
|
87
|
+
status: number;
|
|
88
|
+
error: string;
|
|
89
|
+
}
|
|
90
|
+
export interface ErrorResponsesTextMetric {
|
|
91
|
+
responses: ErrorResponseMetric[];
|
|
92
|
+
}
|
|
93
|
+
export declare class InfluxDataExtractor {
|
|
94
|
+
private client;
|
|
95
|
+
private config;
|
|
96
|
+
constructor(config: InfluxConfig);
|
|
97
|
+
extractHttpReqs(runId: string, startTime: string, endTime: string): Promise<HttpReqsMetric>;
|
|
98
|
+
extractVus(runId: string, startTime: string, endTime: string): Promise<VusMetric>;
|
|
99
|
+
extractVusMax(runId: string, startTime: string, endTime: string): Promise<VusMaxMetric>;
|
|
100
|
+
extractIterations(runId: string, startTime: string, endTime: string): Promise<IterationsMetric>;
|
|
101
|
+
calculateTestDuration(runId: string, startTime: string, endTime: string): Promise<DurationMetric>;
|
|
102
|
+
extractChecks(runId: string, startTime: string, endTime: string): Promise<ChecksMetric>;
|
|
103
|
+
extractHttpReqFailed(runId: string, startTime: string, endTime: string): Promise<HttpReqFailedMetric>;
|
|
104
|
+
extractHttpReqDuration(runId: string, startTime: string, endTime: string): Promise<HttpReqDurationMetric>;
|
|
105
|
+
extractIterationDuration(runId: string, startTime: string, endTime: string): Promise<IterationDurationMetric>;
|
|
106
|
+
extractErrorResponses(runId: string, startTime: string, endTime: string): Promise<ErrorResponsesMetric>;
|
|
107
|
+
extractTopSlowUrls(runId: string, startTime: string, endTime: string): Promise<TopSlowUrlsMetric>;
|
|
108
|
+
extractErrorRequests(runId: string, startTime: string, endTime: string): Promise<ErrorRequestsMetric>;
|
|
109
|
+
extractSuccessRequests(runId: string, startTime: string, endTime: string): Promise<SuccessRequestsMetric>;
|
|
110
|
+
extractErrorResponsesText(runId: string, startTime: string, endTime: string): Promise<ErrorResponsesTextMetric>;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=influx-data-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influx-data-extractor.d.ts","sourceRoot":"","sources":["../src/influx-data-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ResponseTimePercentiles, RequestStats, VUsStats, ChecksStats, DataTransferStats, ErrorDetail, EndpointSummary, ErrorEndpointSummary, ErrorEndpointDetailedSummary, HttpPhaseStats, SlowestRequest, RpsEndpointStats } from "./types";
|
|
2
|
+
export interface IInfluxDataExtractor {
|
|
3
|
+
getResponseTimePercentiles(startTime: string, endTime: string, runId?: string): Promise<ResponseTimePercentiles>;
|
|
4
|
+
getRequestStats(startTime: string, endTime: string, runId?: string): Promise<RequestStats>;
|
|
5
|
+
getVUsStats(startTime: string, endTime: string): Promise<VUsStats>;
|
|
6
|
+
getPodCount(startTime: string, endTime: string): Promise<number>;
|
|
7
|
+
getDroppedIterations(startTime: string, endTime: string, runId?: string): Promise<number>;
|
|
8
|
+
getSlowestRequests(startTime: string, endTime: string, topN: number, runId?: string): Promise<SlowestRequest[]>;
|
|
9
|
+
getIterationDurationPercentiles(startTime: string, endTime: string, runId?: string): Promise<ResponseTimePercentiles>;
|
|
10
|
+
getChecksStats(startTime: string, endTime: string, runId?: string): Promise<ChecksStats>;
|
|
11
|
+
getHttpPhaseStats(startTime: string, endTime: string, runId?: string): Promise<Record<string, HttpPhaseStats>>;
|
|
12
|
+
getDataTransferStats(startTime: string, endTime: string, runId?: string): Promise<DataTransferStats>;
|
|
13
|
+
getRequestsByEndpoint(startTime: string, endTime: string, runId?: string): Promise<Record<string, number>>;
|
|
14
|
+
getRpsPerEndpoint(startTime: string, endTime: string, runId?: string): Promise<Record<string, RpsEndpointStats>>;
|
|
15
|
+
getRequestsSummary(startTime: string, endTime: string, runId?: string): Promise<Record<string, EndpointSummary>>;
|
|
16
|
+
getErrorBreakdown(startTime: string, endTime: string, runId?: string): Promise<Record<string, number>>;
|
|
17
|
+
getErrorDetails(startTime: string, endTime: string, runId?: string): Promise<ErrorDetail[]>;
|
|
18
|
+
getErrorRequestsSummary(startTime: string, endTime: string, runId?: string): Promise<Record<string, ErrorEndpointSummary>>;
|
|
19
|
+
getErrorRequestsDetailedSummary(startTime: string, endTime: string, runId?: string): Promise<ErrorEndpointDetailedSummary[]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=influx-data-extractor.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influx-data-extractor.interface.d.ts","sourceRoot":"","sources":["../src/influx-data-extractor.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"influx-data-extractor.interface.js","sourceRoot":"","sources":["../src/influx-data-extractor.interface.ts"],"names":[],"mappings":""}
|