Skip to content

Commit 917e521

Browse files
authored
Merge pull request #3331 from artilleryio/fix/multiple-batches-with-pause
fix: prevent incorrect "multiple metric batches" warning in tests with pause phases
2 parents d3f06a7 + c33e6b4 commit 917e521

File tree

5 files changed

+6
-26
lines changed

5 files changed

+6
-26
lines changed

package-lock.json

-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/artillery/lib/launch-platform.js

+6-8
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ const { loadPlugins, loadPluginsConfig } = require('./load-plugins');
88
const EventEmitter = require('eventemitter3');
99
const debug = require('debug')('core');
1010

11-
const os = require('os');
1211
const p = require('util').promisify;
1312
const _ = require('lodash');
1413

@@ -41,7 +40,6 @@ class Launcher {
4140
this.workerMessageBuffer = [];
4241

4342
this.metricsByPeriod = {}; // individual intermediates by worker
44-
this.mergedPeriodMetrics = []; // merged intermediates for a period
4543
this.finalReportsByWorker = {};
4644

4745
this.events = new EventEmitter();
@@ -378,18 +376,18 @@ class Launcher {
378376
);
379377

380378
// TODO: Track how many workers provided metrics in the metrics report
381-
const stats = SSMS.mergeBuckets(this.metricsByPeriod[String(period)])[
382-
String(period)
383-
];
384-
this.mergedPeriodMetrics.push(stats);
385-
// summarize histograms for console reporter
379+
// summarize histograms for console reporter:
380+
const merged = SSMS.mergeBuckets(this.metricsByPeriod[String(period)]);
381+
const stats = merged[String(period)];
382+
386383
stats.summaries = {};
387384
for (const [name, value] of Object.entries(stats.histograms || {})) {
388385
const summary = SSMS.summarizeHistogram(value);
389386
stats.summaries[name] = summary;
390-
delete this.metricsByPeriod[String(period)];
391387
}
392388

389+
delete this.metricsByPeriod[String(period)];
390+
393391
this.periodsReportedFor.push(period);
394392
this.pluginEvents.emit('stats', stats);
395393
global.artillery.globalEvents.emit('stats', stats);

packages/artillery/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@
141141
"sqs-consumer": "5.8.0",
142142
"temp": "^0.9.4",
143143
"tmp": "0.2.1",
144-
"try-require": "^1.2.1",
145144
"walk-sync": "^0.2.3",
146145
"yaml-js": "^0.2.3"
147146
},

packages/core/lib/runner.js

-9
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,8 @@ const _ = require('lodash');
1010
const debug = require('debug')('runner');
1111
const debugPerf = require('debug')('perf');
1212
const uuidv4 = require('uuid').v4;
13-
const A = require('async');
1413
const { SSMS } = require('./ssms');
15-
const tryResolve = require('try-require').resolve;
1614
const createPhaser = require('./phases');
17-
const isIdlePhase = require('./is-idle-phase');
1815
const createReader = require('./readers');
1916
const engineUtil = require('@artilleryio/int-commons').engine_util;
2017
const wl = require('./weighted-pick');
@@ -223,15 +220,9 @@ function run(script, ee, options, runState, contextVars) {
223220
});
224221
phaser.on('phaseStarted', function (spec) {
225222
ee.emit('phaseStarted', spec);
226-
if (isIdlePhase(spec)) {
227-
ee.emit('stats', SSMS.empty());
228-
}
229223
});
230224
phaser.on('phaseCompleted', function (spec) {
231225
ee.emit('phaseCompleted', spec);
232-
if (isIdlePhase(spec)) {
233-
ee.emit('stats', SSMS.empty());
234-
}
235226
});
236227
phaser.on('done', function () {
237228
debug('All phases launched');

packages/core/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
"socket.io-client": "^4.5.1",
3232
"socketio-wildcard": "^2.0.0",
3333
"tough-cookie": "^5.0.0-rc.2",
34-
"try-require": "^1.2.1",
3534
"uuid": "^8.0.0",
3635
"ws": "^7.5.7"
3736
},

0 commit comments

Comments
 (0)