void setupTraces()

in packages/devtools_app/lib/src/memory/memory_events_pane.dart [239:391]


  void setupTraces({bool isDarkMode = true}) {
    if (_chartController.traces.isNotEmpty) {
      assert(_chartController.traces.length == TraceName.values.length);

      final extensionEventsIndex = TraceName.extensionEvents.index;
      assert(_chartController.trace(extensionEventsIndex).name ==
          TraceName.values[extensionEventsIndex].toString());

      final snapshotIndex = TraceName.snapshot.index;
      assert(_chartController.trace(snapshotIndex).name ==
          TraceName.values[snapshotIndex].toString());

      final autoSnapshotIndex = TraceName.autoSnapshot.index;
      assert(_chartController.trace(autoSnapshotIndex).name ==
          TraceName.values[autoSnapshotIndex].toString());

      final manualGCIndex = TraceName.manualGC.index;
      assert(_chartController.trace(manualGCIndex).name ==
          TraceName.values[manualGCIndex].toString());

      final monitorIndex = TraceName.monitor.index;
      assert(_chartController.trace(monitorIndex).name ==
          TraceName.values[monitorIndex].toString());

      final monitorResetIndex = TraceName.monitorReset.index;
      assert(_chartController.trace(monitorResetIndex).name ==
          TraceName.values[monitorResetIndex].toString());

      final gcIndex = TraceName.gc.index;
      assert(_chartController.trace(gcIndex).name ==
          TraceName.values[gcIndex].toString());

      return;
    }

    final extensionEventsIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics(
        color: Colors.purpleAccent[100],
        colorAggregate: Colors.purpleAccent[400],
        symbol: trace.ChartSymbol.filledTriangle,
        height: 20,
        width: 20,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
      ),
      name: TraceName.extensionEvents.toString(),
    );
    assert(extensionEventsIndex == TraceName.extensionEvents.index);
    assert(_chartController.trace(extensionEventsIndex).name ==
        TraceName.values[extensionEventsIndex].toString());

    final snapshotIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics(
        color: Colors.green,
        strokeWidth: 3,
        diameter: 6,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
      ),
      name: TraceName.snapshot.toString(),
    );
    assert(snapshotIndex == TraceName.snapshot.index);
    assert(_chartController.trace(snapshotIndex).name ==
        TraceName.values[snapshotIndex].toString());

    // Auto-snapshot
    final autoSnapshotIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics(
        color: Colors.red,
        strokeWidth: 3,
        diameter: 6,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
      ),
      name: TraceName.autoSnapshot.toString(),
    );
    assert(autoSnapshotIndex == TraceName.autoSnapshot.index);
    assert(_chartController.trace(autoSnapshotIndex).name ==
        TraceName.values[autoSnapshotIndex].toString());

    // Manual GC
    final manualGCIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics(
        color: Colors.blue,
        strokeWidth: 3,
        diameter: 6,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
      ),
      name: TraceName.manualGC.toString(),
    );
    assert(manualGCIndex == TraceName.manualGC.index);
    assert(_chartController.trace(manualGCIndex).name ==
        TraceName.values[manualGCIndex].toString());

    final mainMonitorColor =
        isDarkMode ? Colors.yellowAccent : Colors.yellowAccent.shade400;

    // Monitor
    final monitorIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics(
        color: mainMonitorColor,
        strokeWidth: 3,
        diameter: 6,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
      ),
      name: TraceName.monitor.toString(),
    );
    assert(monitorIndex == TraceName.monitor.index);
    assert(_chartController.trace(monitorIndex).name ==
        TraceName.values[monitorIndex].toString());

    final monitorResetIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics.concentric(
        color: Colors.grey[600],
        strokeWidth: 4,
        diameter: 6,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
        concentricCenterColor: mainMonitorColor,
        concentricCenterDiameter: 4,
      ),
      name: TraceName.monitorReset.toString(),
    );
    assert(monitorResetIndex == TraceName.monitorReset.index);
    assert(_chartController.trace(monitorResetIndex).name ==
        TraceName.values[monitorResetIndex].toString());

    // VM GC
    final gcIndex = _chartController.createTrace(
      trace.ChartType.symbol,
      trace.PaintCharacteristics(
        color: Colors.blue,
        symbol: trace.ChartSymbol.disc,
        diameter: 4,
        fixedMinY: visibleVmEvent,
        fixedMaxY: extensionEvent,
      ),
      name: TraceName.gc.toString(),
    );
    assert(gcIndex == TraceName.gc.index);
    assert(_chartController.trace(gcIndex).name ==
        TraceName.values[gcIndex].toString());

    assert(_chartController.traces.length == TraceName.values.length);
  }