From b61aaef1c7e07ec31c0dfae7e0b394e9a7c74ef3 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 17 Sep 2024 14:07:16 +0200 Subject: [PATCH] chore: gather more telemetry data in e2e tests --- tests/e2e/testRunner.ts | 9 ++++++--- tests/e2e/utils/measure.ts | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/tests/e2e/testRunner.ts b/tests/e2e/testRunner.ts index 2d78cf154ff1..41d1d039913d 100644 --- a/tests/e2e/testRunner.ts +++ b/tests/e2e/testRunner.ts @@ -155,7 +155,7 @@ const runTests = async (): Promise => { const removeListener = server.addTestDoneListener(() => { Logger.success(iterationText); - const metrics = MeasureUtils.stop(); + const metrics = MeasureUtils.stop('done'); const test = server.getTestConfig(); if (server.isReadyToAcceptTestResults) { @@ -195,7 +195,8 @@ const runTests = async (): Promise => { }); MeasureUtils.start(appPackage, { onAttachFailed: async () => { - MeasureUtils.stop(); + Logger.warn('The PID has changed, trying to restart the test...'); + MeasureUtils.stop('retry'); resetTimeout(); removeListener(); // something went wrong, let's wait a little bit and try again @@ -268,7 +269,9 @@ const runTests = async (): Promise => { // We run each test multiple time to average out the results for (let testIteration = 0; testIteration < config.RUNS; testIteration++) { const onError = (e: Error) => { - MeasureUtils.stop(); + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions + Logger.error(`Unexpected error during test execution: ${e}. `); + MeasureUtils.stop('error'); server.clearAllTestDoneListeners(); errorCountRef.errorCount += 1; if (testIteration === 0 || errorCountRef.errorCount === errorCountRef.allowedExceptions) { diff --git a/tests/e2e/utils/measure.ts b/tests/e2e/utils/measure.ts index c3fedce76272..ba9e7e4a22f8 100644 --- a/tests/e2e/utils/measure.ts +++ b/tests/e2e/utils/measure.ts @@ -2,6 +2,7 @@ import {profiler} from '@perf-profiler/profiler'; import {getAverageCpuUsage, getAverageCpuUsagePerProcess, getAverageFPSUsage, getAverageRAMUsage} from '@perf-profiler/reporter'; import {ThreadNames} from '@perf-profiler/types'; import type {Measure} from '@perf-profiler/types'; +import * as Logger from './logger'; let measures: Measure[] = []; const POLLING_STOPPED = { @@ -27,9 +28,12 @@ const start = (bundleId: string, {onAttachFailed}: StartOptions) => { onAttachFailed(); }, }); + + Logger.info(`Starting performance measurements for ${bundleId}`); }; -const stop = () => { +const stop = (whoTriggered: string) => { + Logger.info(`Stop performance measurements... Was triggered by ${whoTriggered}`); polling.stop(); polling = POLLING_STOPPED;