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.
Files changed (113) hide show
  1. package/.claude/settings.local.json +54 -0
  2. package/.config.example.json +8 -0
  3. package/.config.json +8 -0
  4. package/.eslintrc.json +18 -0
  5. package/.github/workflows/build.yml +30 -0
  6. package/.github/workflows/release.yml +44 -0
  7. package/README.md +449 -0
  8. package/dist/cli-reporter.d.ts +5 -0
  9. package/dist/cli-reporter.d.ts.map +1 -0
  10. package/dist/cli-reporter.js +71 -0
  11. package/dist/cli-reporter.js.map +1 -0
  12. package/dist/cli.d.ts +2 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +43 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/config.d.ts +14 -0
  17. package/dist/config.d.ts.map +1 -0
  18. package/dist/config.js +26 -0
  19. package/dist/config.js.map +1 -0
  20. package/dist/data-collector.d.ts +14 -0
  21. package/dist/data-collector.d.ts.map +1 -0
  22. package/dist/data-collector.js +51 -0
  23. package/dist/data-collector.js.map +1 -0
  24. package/dist/data-extractor.d.ts +31 -0
  25. package/dist/data-extractor.d.ts.map +1 -0
  26. package/dist/data-extractor.js +250 -0
  27. package/dist/data-extractor.js.map +1 -0
  28. package/dist/explore.d.ts +2 -0
  29. package/dist/explore.d.ts.map +1 -0
  30. package/dist/explore.js +27 -0
  31. package/dist/explore.js.map +1 -0
  32. package/dist/index.d.ts +7 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +43 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/influx-client.d.ts +16 -0
  37. package/dist/influx-client.d.ts.map +1 -0
  38. package/dist/influx-client.interface.d.ts +21 -0
  39. package/dist/influx-client.interface.d.ts.map +1 -0
  40. package/dist/influx-client.interface.js +3 -0
  41. package/dist/influx-client.interface.js.map +1 -0
  42. package/dist/influx-client.js +35 -0
  43. package/dist/influx-client.js.map +1 -0
  44. package/dist/influx-data-extractor.d.ts +112 -0
  45. package/dist/influx-data-extractor.d.ts.map +1 -0
  46. package/dist/influx-data-extractor.interface.d.ts +21 -0
  47. package/dist/influx-data-extractor.interface.d.ts.map +1 -0
  48. package/dist/influx-data-extractor.interface.js +3 -0
  49. package/dist/influx-data-extractor.interface.js.map +1 -0
  50. package/dist/influx-data-extractor.js +445 -0
  51. package/dist/influx-data-extractor.js.map +1 -0
  52. package/dist/influx.d.ts +122 -0
  53. package/dist/influx.d.ts.map +1 -0
  54. package/dist/influx.js +899 -0
  55. package/dist/influx.js.map +1 -0
  56. package/dist/logger.d.ts +7 -0
  57. package/dist/logger.d.ts.map +1 -0
  58. package/dist/logger.js +12 -0
  59. package/dist/logger.js.map +1 -0
  60. package/dist/metrics-collector.d.ts +10 -0
  61. package/dist/metrics-collector.d.ts.map +1 -0
  62. package/dist/metrics-collector.js +99 -0
  63. package/dist/metrics-collector.js.map +1 -0
  64. package/dist/metrics-collector.test.d.ts +2 -0
  65. package/dist/metrics-collector.test.d.ts.map +1 -0
  66. package/dist/metrics-collector.test.js +235 -0
  67. package/dist/metrics-collector.test.js.map +1 -0
  68. package/dist/reporters/cli-reporter.d.ts +9 -0
  69. package/dist/reporters/cli-reporter.d.ts.map +1 -0
  70. package/dist/reporters/cli-reporter.js +141 -0
  71. package/dist/reporters/cli-reporter.js.map +1 -0
  72. package/dist/reporters/cli.d.ts +5 -0
  73. package/dist/reporters/cli.d.ts.map +1 -0
  74. package/dist/reporters/cli.js +150 -0
  75. package/dist/reporters/cli.js.map +1 -0
  76. package/dist/reporters/index.d.ts +3 -0
  77. package/dist/reporters/index.d.ts.map +1 -0
  78. package/dist/reporters/index.js +8 -0
  79. package/dist/reporters/index.js.map +1 -0
  80. package/dist/reporters/json-reporter.d.ts +5 -0
  81. package/dist/reporters/json-reporter.d.ts.map +1 -0
  82. package/dist/reporters/json-reporter.js +18 -0
  83. package/dist/reporters/json-reporter.js.map +1 -0
  84. package/dist/reporters/json.d.ts +5 -0
  85. package/dist/reporters/json.d.ts.map +1 -0
  86. package/dist/reporters/json.js +70 -0
  87. package/dist/reporters/json.js.map +1 -0
  88. package/dist/reporters/markdown.d.ts +5 -0
  89. package/dist/reporters/markdown.d.ts.map +1 -0
  90. package/dist/reporters/markdown.js +87 -0
  91. package/dist/reporters/markdown.js.map +1 -0
  92. package/dist/reports.d.ts +11 -0
  93. package/dist/reports.d.ts.map +1 -0
  94. package/dist/reports.js +325 -0
  95. package/dist/reports.js.map +1 -0
  96. package/dist/types.d.ts +113 -0
  97. package/dist/types.d.ts.map +1 -0
  98. package/dist/types.js +4 -0
  99. package/dist/types.js.map +1 -0
  100. package/dist/utils.d.ts +2 -0
  101. package/dist/utils.d.ts.map +1 -0
  102. package/dist/utils.js +19 -0
  103. package/dist/utils.js.map +1 -0
  104. package/package.json +33 -0
  105. package/src/cli.ts +47 -0
  106. package/src/config.ts +31 -0
  107. package/src/data-collector.ts +66 -0
  108. package/src/influx-client.ts +48 -0
  109. package/src/influx-data-extractor.ts +722 -0
  110. package/src/reporters/cli-reporter.ts +169 -0
  111. package/src/reporters/index.ts +2 -0
  112. package/src/reporters/json-reporter.ts +15 -0
  113. package/tsconfig.json +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"influx.js","sourceRoot":"","sources":["../src/influx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface Logger {
2
+ log(message: string): void;
3
+ error(message: string): void;
4
+ }
5
+ export declare const consoleLogger: Logger;
6
+ export declare const noopLogger: Logger;
7
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,MAG3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAGxB,CAAC"}
package/dist/logger.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noopLogger = exports.consoleLogger = void 0;
4
+ exports.consoleLogger = {
5
+ log: (msg) => console.log(msg),
6
+ error: (msg) => console.error(msg),
7
+ };
8
+ exports.noopLogger = {
9
+ log: () => { },
10
+ error: () => { },
11
+ };
12
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAKa,QAAA,aAAa,GAAW;IACnC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;CACnC,CAAC;AAEW,QAAA,UAAU,GAAW;IAChC,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { TestMetrics } from "./types";
2
+ import { IInfluxDataExtractor } from "./influx-data-extractor.interface";
3
+ import { Logger } from "./logger";
4
+ export declare class MetricsCollector {
5
+ private influxClient;
6
+ private logger;
7
+ constructor(influxClient: IInfluxDataExtractor, logger?: Logger);
8
+ collect(scenario: string, startTime: string, endTime: string, runId?: string): Promise<TestMetrics>;
9
+ }
10
+ //# sourceMappingURL=metrics-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-collector.d.ts","sourceRoot":"","sources":["../src/metrics-collector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAC;AAEjD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;gBADN,YAAY,EAAE,oBAAoB,EAClC,MAAM,GAAE,MAAsB;IAGlC,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;CA4HxB"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MetricsCollector = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const logger_1 = require("./logger");
9
+ class MetricsCollector {
10
+ constructor(influxClient, logger = logger_1.consoleLogger) {
11
+ this.influxClient = influxClient;
12
+ this.logger = logger;
13
+ }
14
+ async collect(scenario, startTime, endTime, runId) {
15
+ this.logger.log(chalk_1.default.blue(` 📍 Fetching metrics for scenario: ${chalk_1.default.bold(scenario)}${runId ? chalk_1.default.gray(` [runId: ${runId}]`) : ""}`));
16
+ this.logger.log(chalk_1.default.gray(` Time range: ${startTime} to ${endTime}`));
17
+ try {
18
+ const startPercentilesTime = Date.now();
19
+ const percentiles = await this.influxClient.getResponseTimePercentiles(startTime, endTime, runId);
20
+ const percentilesDuration = Date.now() - startPercentilesTime;
21
+ this.logger.log(chalk_1.default.green(` ├─ ✓ Response times: P50=${percentiles.p50.toFixed(2)}ms, P95=${percentiles.p95.toFixed(2)}ms, P99=${percentiles.p99.toFixed(2)}ms (${percentilesDuration}ms)`));
22
+ const startStatsTime = Date.now();
23
+ const stats = await this.influxClient.getRequestStats(startTime, endTime, runId);
24
+ const statsDuration = Date.now() - startStatsTime;
25
+ this.logger.log(chalk_1.default.green(` ├─ ✓ Requests: total=${stats.total}, success=${stats.success}, failed=${stats.failed} (${statsDuration}ms)`));
26
+ const startAdditionalTime = Date.now();
27
+ // Fetch all additional metrics in parallel
28
+ const [vus, podCount, droppedIterations, slowestRequests, iterationDuration, checks, httpPhases, dataTransfer, requestsByEndpoint, rpsPerEndpoint, requestsSummary] = await Promise.all([
29
+ this.influxClient.getVUsStats(startTime, endTime),
30
+ this.influxClient.getPodCount(startTime, endTime),
31
+ this.influxClient.getDroppedIterations(startTime, endTime, runId),
32
+ this.influxClient.getSlowestRequests(startTime, endTime, 10, runId),
33
+ this.influxClient.getIterationDurationPercentiles(startTime, endTime, runId),
34
+ this.influxClient.getChecksStats(startTime, endTime, runId),
35
+ this.influxClient.getHttpPhaseStats(startTime, endTime, runId),
36
+ this.influxClient.getDataTransferStats(startTime, endTime, runId),
37
+ this.influxClient.getRequestsByEndpoint(startTime, endTime, runId),
38
+ this.influxClient.getRpsPerEndpoint(startTime, endTime, runId),
39
+ this.influxClient.getRequestsSummary(startTime, endTime, runId),
40
+ ]);
41
+ const additionalDuration = Date.now() - startAdditionalTime;
42
+ this.logger.log(chalk_1.default.green(` ├─ ✓ Additional metrics fetched (${additionalDuration}ms)`));
43
+ const startErrorsTime = Date.now();
44
+ const [errors, errorDetails, errorRequestsSummary, errorRequestsDetailedSummary] = await Promise.all([
45
+ this.influxClient.getErrorBreakdown(startTime, endTime, runId),
46
+ this.influxClient.getErrorDetails(startTime, endTime, runId),
47
+ this.influxClient.getErrorRequestsSummary(startTime, endTime, runId),
48
+ this.influxClient.getErrorRequestsDetailedSummary(startTime, endTime, runId),
49
+ ]);
50
+ const errorsDuration = Date.now() - startErrorsTime;
51
+ const errorCount = Object.values(errors).reduce((sum, count) => sum + count, 0);
52
+ this.logger.log(chalk_1.default.green(` └─ ✓ Errors: ${Object.keys(errors).length} unique error types, ${errorCount} total errors (${errorsDuration}ms)`));
53
+ const _successRate = stats.total
54
+ ? (stats.success / stats.total) * 100
55
+ : 0;
56
+ const errorRate = stats.total ? (stats.failed / stats.total) * 100 : 0;
57
+ this.logger.log(chalk_1.default.blue(` 📊 Metrics summary: Error rate=${errorRate.toFixed(2)}%, VUs=${vus.vusMax}/${vus.vusConfiguredMax}`));
58
+ return {
59
+ responseTimeP50: percentiles.p50,
60
+ responseTimeP95: percentiles.p95,
61
+ responseTimeP99: percentiles.p99,
62
+ totalRequests: stats.total,
63
+ successfulRequests: stats.success,
64
+ failedRequests: stats.failed,
65
+ errorRate,
66
+ errors,
67
+ errorDetails,
68
+ errorRequestsSummary,
69
+ errorRequestsDetailedSummary,
70
+ vusMax: vus.vusMax,
71
+ vusConfiguredMax: vus.vusConfiguredMax,
72
+ podCount,
73
+ droppedIterations,
74
+ slowestRequests,
75
+ iterationDurationP50: iterationDuration.p50,
76
+ iterationDurationP95: iterationDuration.p95,
77
+ iterationDurationP99: iterationDuration.p99,
78
+ checksTotal: checks.total,
79
+ checksSucceeded: checks.succeeded,
80
+ checksFailed: checks.failed,
81
+ checksSuccessRate: checks.successRate,
82
+ httpPhases,
83
+ dataReceivedBytes: dataTransfer.received,
84
+ dataSentBytes: dataTransfer.sent,
85
+ dataReceivedRate: dataTransfer.receivedRate,
86
+ dataSentRate: dataTransfer.sentRate,
87
+ requestsByEndpoint,
88
+ rpsPerEndpoint,
89
+ requestsSummary,
90
+ };
91
+ }
92
+ catch (error) {
93
+ this.logger.error(chalk_1.default.red(" ❌ Error fetching metrics:") + " " + (error instanceof Error ? error.message : String(error)));
94
+ throw error;
95
+ }
96
+ }
97
+ }
98
+ exports.MetricsCollector = MetricsCollector;
99
+ //# sourceMappingURL=metrics-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-collector.js","sourceRoot":"","sources":["../src/metrics-collector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metrics-collector.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-collector.test.d.ts","sourceRoot":"","sources":["../src/metrics-collector.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/unbound-method */
4
+ const vitest_1 = require("vitest");
5
+ const metrics_collector_1 = require("./metrics-collector");
6
+ const logger_1 = require("./logger");
7
+ function buildMockClient(overrides) {
8
+ const defaults = {
9
+ getResponseTimePercentiles: vitest_1.vi
10
+ .fn()
11
+ .mockResolvedValue({ p50: 0, p95: 0, p99: 0 }),
12
+ getRequestStats: vitest_1.vi
13
+ .fn()
14
+ .mockResolvedValue({ total: 0, success: 0, failed: 0 }),
15
+ getVUsStats: vitest_1.vi
16
+ .fn()
17
+ .mockResolvedValue({ vusMax: 0, vusConfiguredMax: 0 }),
18
+ getPodCount: vitest_1.vi.fn().mockResolvedValue(0),
19
+ getDroppedIterations: vitest_1.vi.fn().mockResolvedValue(0),
20
+ getSlowestRequests: vitest_1.vi.fn().mockResolvedValue([]),
21
+ getIterationDurationPercentiles: vitest_1.vi
22
+ .fn()
23
+ .mockResolvedValue({ p50: 0, p95: 0, p99: 0 }),
24
+ getChecksStats: vitest_1.vi.fn().mockResolvedValue({
25
+ total: 0,
26
+ succeeded: 0,
27
+ failed: 0,
28
+ successRate: 0,
29
+ }),
30
+ getHttpPhaseStats: vitest_1.vi.fn().mockResolvedValue({}),
31
+ getDataTransferStats: vitest_1.vi.fn().mockResolvedValue({
32
+ received: 0,
33
+ sent: 0,
34
+ receivedRate: 0,
35
+ sentRate: 0,
36
+ }),
37
+ getRequestsByEndpoint: vitest_1.vi.fn().mockResolvedValue({}),
38
+ getRpsPerEndpoint: vitest_1.vi.fn().mockResolvedValue({}),
39
+ getRequestsSummary: vitest_1.vi.fn().mockResolvedValue({}),
40
+ getErrorBreakdown: vitest_1.vi.fn().mockResolvedValue({}),
41
+ getErrorDetails: vitest_1.vi.fn().mockResolvedValue([]),
42
+ getErrorRequestsSummary: vitest_1.vi.fn().mockResolvedValue({}),
43
+ getErrorRequestsDetailedSummary: vitest_1.vi.fn().mockResolvedValue([]),
44
+ };
45
+ const merged = { ...defaults, ...(overrides || {}) };
46
+ return merged;
47
+ }
48
+ (0, vitest_1.describe)("MetricsCollector", () => {
49
+ (0, vitest_1.it)("assembles TestMetrics from mock influx responses", async () => {
50
+ const mockClient = buildMockClient({
51
+ getResponseTimePercentiles: vitest_1.vi
52
+ .fn()
53
+ .mockResolvedValue({ p50: 120, p95: 300, p99: 500 }),
54
+ getRequestStats: vitest_1.vi
55
+ .fn()
56
+ .mockResolvedValue({ total: 1000, success: 980, failed: 20 }),
57
+ getVUsStats: vitest_1.vi
58
+ .fn()
59
+ .mockResolvedValue({ vusMax: 50, vusConfiguredMax: 100 }),
60
+ getChecksStats: vitest_1.vi.fn().mockResolvedValue({
61
+ total: 100,
62
+ succeeded: 95,
63
+ failed: 5,
64
+ successRate: 95,
65
+ }),
66
+ getIterationDurationPercentiles: vitest_1.vi
67
+ .fn()
68
+ .mockResolvedValue({ p50: 100, p95: 250, p99: 450 }),
69
+ getDataTransferStats: vitest_1.vi.fn().mockResolvedValue({
70
+ received: 5242880,
71
+ sent: 1048576,
72
+ receivedRate: 1024,
73
+ sentRate: 256,
74
+ }),
75
+ getSlowestRequests: vitest_1.vi.fn().mockResolvedValue([
76
+ { url: "/api/slow", p95: 1000, max: 2000 },
77
+ ]),
78
+ getPodCount: vitest_1.vi.fn().mockResolvedValue(3),
79
+ getDroppedIterations: vitest_1.vi.fn().mockResolvedValue(0),
80
+ getHttpPhaseStats: vitest_1.vi.fn().mockResolvedValue({
81
+ setup: { avg: 10, min: 5, max: 20, p90: 18, p95: 19 },
82
+ }),
83
+ getRequestsByEndpoint: vitest_1.vi
84
+ .fn()
85
+ .mockResolvedValue({ "/api/users": 500, "/api/posts": 500 }),
86
+ getRpsPerEndpoint: vitest_1.vi.fn().mockResolvedValue({
87
+ "/api/users": { avg: 5, max: 10, p95: 9 },
88
+ }),
89
+ getRequestsSummary: vitest_1.vi.fn().mockResolvedValue({
90
+ "GET /api/users": {
91
+ url: "/api/users",
92
+ method: "GET",
93
+ count: 500,
94
+ successful: 490,
95
+ failed: 10,
96
+ minResponseTime: 50,
97
+ avgResponseTime: 150,
98
+ p95ResponseTime: 300,
99
+ p99ResponseTime: 450,
100
+ maxResponseTime: 600,
101
+ },
102
+ }),
103
+ getErrorBreakdown: vitest_1.vi
104
+ .fn()
105
+ .mockResolvedValue({ "500": 15, "404": 5 }),
106
+ getErrorDetails: vitest_1.vi.fn().mockResolvedValue([
107
+ { status: 500, url: "/api/error", count: 15 },
108
+ { status: 404, url: "/api/notfound", count: 5 },
109
+ ]),
110
+ getErrorRequestsSummary: vitest_1.vi.fn().mockResolvedValue({
111
+ "GET /api/error": {
112
+ count: 15,
113
+ minResponseTime: 100,
114
+ avgResponseTime: 150,
115
+ p95ResponseTime: 200,
116
+ p99ResponseTime: 250,
117
+ maxResponseTime: 300,
118
+ },
119
+ }),
120
+ getErrorRequestsDetailedSummary: vitest_1.vi.fn().mockResolvedValue([
121
+ {
122
+ url: "/api/error",
123
+ method: "GET",
124
+ status: 500,
125
+ count: 15,
126
+ minResponseTime: 100,
127
+ avgResponseTime: 150,
128
+ p95ResponseTime: 200,
129
+ p99ResponseTime: 250,
130
+ maxResponseTime: 300,
131
+ },
132
+ ]),
133
+ });
134
+ const collector = new metrics_collector_1.MetricsCollector(mockClient, logger_1.noopLogger);
135
+ const result = await collector.collect("smoke", "-1h", "now()");
136
+ (0, vitest_1.expect)(result.responseTimeP50).toBe(120);
137
+ (0, vitest_1.expect)(result.responseTimeP95).toBe(300);
138
+ (0, vitest_1.expect)(result.responseTimeP99).toBe(500);
139
+ (0, vitest_1.expect)(result.totalRequests).toBe(1000);
140
+ (0, vitest_1.expect)(result.successfulRequests).toBe(980);
141
+ (0, vitest_1.expect)(result.failedRequests).toBe(20);
142
+ (0, vitest_1.expect)(result.errorRate).toBeCloseTo(2.0);
143
+ (0, vitest_1.expect)(result.vusMax).toBe(50);
144
+ (0, vitest_1.expect)(result.vusConfiguredMax).toBe(100);
145
+ (0, vitest_1.expect)(result.checksTotal).toBe(100);
146
+ (0, vitest_1.expect)(result.checksSucceeded).toBe(95);
147
+ (0, vitest_1.expect)(result.checksFailed).toBe(5);
148
+ (0, vitest_1.expect)(result.checksSuccessRate).toBe(95);
149
+ (0, vitest_1.expect)(result.iterationDurationP50).toBe(100);
150
+ (0, vitest_1.expect)(result.dataReceivedBytes).toBe(5242880);
151
+ (0, vitest_1.expect)(result.dataSentBytes).toBe(1048576);
152
+ (0, vitest_1.expect)(result.podCount).toBe(3);
153
+ (0, vitest_1.expect)(result.droppedIterations).toBe(0);
154
+ });
155
+ (0, vitest_1.it)("returns errorRate of 0 when total requests is 0", async () => {
156
+ const mockClient = buildMockClient({
157
+ getRequestStats: vitest_1.vi
158
+ .fn()
159
+ .mockResolvedValue({ total: 0, success: 0, failed: 0 }),
160
+ });
161
+ const collector = new metrics_collector_1.MetricsCollector(mockClient, logger_1.noopLogger);
162
+ const result = await collector.collect("empty", "-1h", "now()");
163
+ (0, vitest_1.expect)(result.errorRate).toBe(0);
164
+ (0, vitest_1.expect)(result.totalRequests).toBe(0);
165
+ });
166
+ (0, vitest_1.it)("passes runId to all influx methods that accept it", async () => {
167
+ const mockClient = buildMockClient();
168
+ const collector = new metrics_collector_1.MetricsCollector(mockClient, logger_1.noopLogger);
169
+ await collector.collect("load", "-1h", "now()", "run-abc");
170
+ const getResponseTimePercentiles = mockClient.getResponseTimePercentiles;
171
+ const getRequestStats = mockClient.getRequestStats;
172
+ const getDroppedIterations = mockClient.getDroppedIterations;
173
+ const getErrorBreakdown = mockClient.getErrorBreakdown;
174
+ const getSlowestRequests = mockClient.getSlowestRequests;
175
+ const getVUsStats = mockClient.getVUsStats;
176
+ const getPodCount = mockClient.getPodCount;
177
+ (0, vitest_1.expect)(getResponseTimePercentiles).toHaveBeenCalledWith("-1h", "now()", "run-abc");
178
+ (0, vitest_1.expect)(getRequestStats).toHaveBeenCalledWith("-1h", "now()", "run-abc");
179
+ (0, vitest_1.expect)(getDroppedIterations).toHaveBeenCalledWith("-1h", "now()", "run-abc");
180
+ (0, vitest_1.expect)(getErrorBreakdown).toHaveBeenCalledWith("-1h", "now()", "run-abc");
181
+ (0, vitest_1.expect)(getSlowestRequests).toHaveBeenCalledWith("-1h", "now()", 10, "run-abc");
182
+ // Methods that should NOT receive runId
183
+ (0, vitest_1.expect)(getVUsStats).toHaveBeenCalledWith("-1h", "now()");
184
+ (0, vitest_1.expect)(getPodCount).toHaveBeenCalledWith("-1h", "now()");
185
+ });
186
+ (0, vitest_1.it)("calls each influx method exactly once per collect() call", async () => {
187
+ const mockClient = buildMockClient();
188
+ const collector = new metrics_collector_1.MetricsCollector(mockClient, logger_1.noopLogger);
189
+ await collector.collect("soak", "-2h", "now()");
190
+ const getVUsStats = mockClient.getVUsStats;
191
+ const getResponseTimePercentiles = mockClient.getResponseTimePercentiles;
192
+ const getRequestStats = mockClient.getRequestStats;
193
+ const getPodCount = mockClient.getPodCount;
194
+ const getDroppedIterations = mockClient.getDroppedIterations;
195
+ const getSlowestRequests = mockClient.getSlowestRequests;
196
+ const getIterationDurationPercentiles = mockClient.getIterationDurationPercentiles;
197
+ const getChecksStats = mockClient.getChecksStats;
198
+ const getHttpPhaseStats = mockClient.getHttpPhaseStats;
199
+ const getDataTransferStats = mockClient.getDataTransferStats;
200
+ const getRequestsByEndpoint = mockClient.getRequestsByEndpoint;
201
+ const getRpsPerEndpoint = mockClient.getRpsPerEndpoint;
202
+ const getRequestsSummary = mockClient.getRequestsSummary;
203
+ const getErrorBreakdown = mockClient.getErrorBreakdown;
204
+ const getErrorDetails = mockClient.getErrorDetails;
205
+ const getErrorRequestsSummary = mockClient.getErrorRequestsSummary;
206
+ const getErrorRequestsDetailedSummary = mockClient.getErrorRequestsDetailedSummary;
207
+ (0, vitest_1.expect)(getVUsStats).toHaveBeenCalledTimes(1);
208
+ (0, vitest_1.expect)(getResponseTimePercentiles).toHaveBeenCalledTimes(1);
209
+ (0, vitest_1.expect)(getRequestStats).toHaveBeenCalledTimes(1);
210
+ (0, vitest_1.expect)(getPodCount).toHaveBeenCalledTimes(1);
211
+ (0, vitest_1.expect)(getDroppedIterations).toHaveBeenCalledTimes(1);
212
+ (0, vitest_1.expect)(getSlowestRequests).toHaveBeenCalledTimes(1);
213
+ (0, vitest_1.expect)(getIterationDurationPercentiles).toHaveBeenCalledTimes(1);
214
+ (0, vitest_1.expect)(getChecksStats).toHaveBeenCalledTimes(1);
215
+ (0, vitest_1.expect)(getHttpPhaseStats).toHaveBeenCalledTimes(1);
216
+ (0, vitest_1.expect)(getDataTransferStats).toHaveBeenCalledTimes(1);
217
+ (0, vitest_1.expect)(getRequestsByEndpoint).toHaveBeenCalledTimes(1);
218
+ (0, vitest_1.expect)(getRpsPerEndpoint).toHaveBeenCalledTimes(1);
219
+ (0, vitest_1.expect)(getRequestsSummary).toHaveBeenCalledTimes(1);
220
+ (0, vitest_1.expect)(getErrorBreakdown).toHaveBeenCalledTimes(1);
221
+ (0, vitest_1.expect)(getErrorDetails).toHaveBeenCalledTimes(1);
222
+ (0, vitest_1.expect)(getErrorRequestsSummary).toHaveBeenCalledTimes(1);
223
+ (0, vitest_1.expect)(getErrorRequestsDetailedSummary).toHaveBeenCalledTimes(1);
224
+ });
225
+ (0, vitest_1.it)("re-throws when an influx method rejects", async () => {
226
+ const mockClient = buildMockClient({
227
+ getResponseTimePercentiles: vitest_1.vi
228
+ .fn()
229
+ .mockRejectedValue(new Error("InfluxDB timeout")),
230
+ });
231
+ const collector = new metrics_collector_1.MetricsCollector(mockClient, logger_1.noopLogger);
232
+ await (0, vitest_1.expect)(collector.collect("spike", "-1h", "now()")).rejects.toThrow("InfluxDB timeout");
233
+ });
234
+ });
235
+ //# sourceMappingURL=metrics-collector.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-collector.test.js","sourceRoot":"","sources":["../src/metrics-collector.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ReporterResponse } from "../data-collector";
2
+ export declare class CliReporter {
3
+ report(data: ReporterResponse): void;
4
+ private printHeader;
5
+ private printReport;
6
+ private padRight;
7
+ private formatDuration;
8
+ }
9
+ //# sourceMappingURL=cli-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-reporter.d.ts","sourceRoot":"","sources":["../../src/reporters/cli-reporter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,WAAW;IACtB,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAKpC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IA0InB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,cAAc;CASvB"}