Skip to content

Debug adapter logging can cause high CPU when there's lots of VM Service traffic #4390

@DanTup

Description

@DanTup

Given an app that spawns isolates every half second:

void main() {
  runApp(const MyApp());
  Timer.periodic(const Duration(seconds: 1), (timer) async {
    final res = await Isolate.run(() => comp(100, 200));
  });
}

The CPU usage of the VS Code "window" process goes very high. It seems to be related to the volume of the dart.log events coming back from the debug adapter.

Right now, this logging is always enabled (so you can start logging after the debug session has started), but since this can negatively affect performance we should enable it only if logging is enabled as the debug session starts. If this becomes a problem, we should add the ability to send a custom message to the DA to start/stop logging later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    in debuggingRelates to the debug adapter or process of running debug sessionsis bugis performance

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions