erSeries === undefined ||
        powerSeries.samples.length === 0) {
      return;
    }
    // Output the full story power metrics, which exists regardless of
    // the presence of a Chrome trace.
    yield {
      bounds: model.bounds,
      name: 'story',
      description: 'user story',
      perSecond: true
    };

    const chromeBounds = computeChromeBounds_(model);
    if (chromeBounds.isEmpty) return;

    const powerSeriesBoundsWithGracePeriod = tr.b.math.Range.fromExplicitRange(
        powerSe