ruvnet/ruflo · error

No measurement started for: ${name}

Error message

No measurement started for: ${name}

What it means

PerformanceTestHelper.endMeasurement was called for a name with no matching startMeasurement call in the starts Map. The helper cannot compute a duration without a start timestamp, so this indicates unbalanced start/end calls in the test.

Source

Thrown at v3/@claude-flow/testing/src/helpers/setup-teardown.ts:576

 * @example
 * const perf = createPerformanceTestHelper();
 * perf.startMeasurement('search');
 * await search();
 * const duration = perf.endMeasurement('search');
 */
export function createPerformanceTestHelper(): PerformanceTestHelper {
  const measurements = new Map<string, number[]>();
  const starts = new Map<string, number>();

  return {
    startMeasurement(name: string): void {
      starts.set(name, performance.now());
    },

    endMeasurement(name: string): number {
      const start = starts.get(name);
      if (start === undefined) {
        throw new Error(`No measurement started for: ${name}`);
      }

      const duration = performance.now() - start;
      starts.delete(name);

      if (!measurements.has(name)) {
        measurements.set(name, []);
      }
      measurements.get(name)!.push(duration);

      return duration;
    },

    getMeasurements(): Record<string, number[]> {
      return Object.fromEntries(measurements);
    },

    getStats(name: string): { min: number; max: number; avg: number; p95: number } {

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Call startMeasurement(name) before endMeasurement(name).
  2. Check for a name mismatch between the start and end calls.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/@claude-flow/testing/src/helpers/setup-teardown.ts:576 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/8d5a952b7ee764eb. Report an issue: GitHub.