Skip to content

Do not send debugTimelineArguments when debugProfileBuildsEnabled == true #101535

@kenzieschmoll

Description

@kenzieschmoll

While debugging #101379, I noticed that with Track Widget Builds enabled (debugProfileBuildsEnabled), a large amount of data is getting sent in the trace event args for the 'BUILD' timeline event:

if (debugProfileBuildsEnabled) {
debugTimelineArguments = <String, String>{
...debugTimelineArguments,
'dirty count': '${_dirtyElements.length}',
'dirty list': '$_dirtyElements',
'lock level': '$_debugStateLockLevel',
'scope context': '$context',
};

These additional debugging args were added in #93086. These events make the trace very heavy and will make the performance impact of Track Widget Builds even worse than it already is. We should create another flag to hide these args behind instead of reusing debugProfileBuildsEnabled.

This may apply to other debugTimelineArguments added in https://github.com/flutter/flutter/pull/93086/files#diff-134bc36bd7c045a92ffff29f7efdaa7d375384911475a40343814c76c87b17cb as well.

CC @Hixie @goderbauer @jacob314

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: debuggingDebugging, breakpoints, expression evaluationframeworkflutter/packages/flutter repository. See also f: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions