Skip to content

Timeline doesn't show descheduled time #3454

Description

@Hixie

Sometimes, a thread spends 15ms of wall-clock time doing something, but only 1ms of CPU time. This represents 14ms where the CPU was busy doing something else. Other timeline viewers typically show this as a bar with a length of 15ms but where the trailing 14ms of the bar are partly faded out to indicate that the thread was descheduled.

Activity

  1. kenzieschmoll commented on Mar 8, 2022

    @kenzieschmoll
    Member

    Duplicate issue: #778

  2. added this to the Backlog milestone on May 5, 2022
  3. dnfield commented on Jun 21, 2022

    @dnfield
    Contributor

    From a linked issue, developer reported a randomly long timeline event. In devtools, it was impossible to tell that this was due to descheduling, whereas in observatory it was obvious:

    timeline

    Particularly bad because the descheduled time was very long (almost 80ms).

  4. kenzieschmoll commented on Jun 21, 2022

    @kenzieschmoll
    Member

    Which part of this is thread descheduled time? Is it the more opaque portion of the timeline event?

  5. dnfield commented on Jun 21, 2022

    @dnfield
    Contributor

    The more opaque part is scheduled time - the more transparent part is descheduled.

    One missing part here that perfetto has is showing you which parts of the event were descheduled, but I don't think we get that in the JSON format that the VM emits.

  6. Hixie commented on Jun 24, 2022

    @Hixie
    Author

    Oh man if we knew which part was descheduled that would be fantastic.

  7. dnfield commented on Jun 24, 2022

    @dnfield
    Contributor

    Perfetto/systrace can show that on Android.

  8. kenzieschmoll commented on Aug 14, 2024

    @kenzieschmoll
    Member

    @derekxu16 do you know if thread descheduling information is something that we can get (or something that we already have access to) with the perfetto recorder in the VM?

  9. derekxu16 commented on Aug 15, 2024

    @derekxu16
    Contributor

    This functionality is not part of Observatory anymore either, because we stopped recording the "scheduled time" of events in dart-lang/sdk@08634ec for performance reasons.

  10. srawlins commented on Sep 15, 2026

    @srawlins
    Contributor

    As noted in the discussion, the Dart VM stopped recording and emitting scheduled time for timeline events (see dart-lang/sdk@08634ec) for performance reasons, and this functionality was also removed from Observatory. Because the underlying VM no longer provides thread scheduling data to DevTools, this cannot be supported in the DevTools timeline.

    If there is more work to do here, please let us know by filing a new issue with up to date information. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2important to work on, but not at the top of the work list.devtools-performance-screenIssues with the Performance screentype-enhancement

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions