flutter / flutter/devtools

Allow programmatic collection of timeline data

Abierto
#6,030 0 comentarios 0 reacciones 0 asignados Ver en GitHub
P2
Lenguaje dominante
Dart
Estrellas
1.7k
Forks
404
Merge medio
6 d 17 h
PR fusionados (30 d)
18

Descripción

This was mentioned in https://github.com/Dart-Code/Dart-Code/issues/4106#issuecomment-1632883559. While debugging some analyzer performance issues I've been using the DevTools timeline and the `dart:developer` Timeline APIs to record events.

This works well, but there's a fair bit of manual work to connect DevTools, trigger the actions in the server, then fresh the timeline.

It would be really nice if I could call some APIs (for example in a test) that starts recording timeline data, executes a bunch of actions (that record timings using the Timeline APIs) and then dump to a file that can be opened in DevTools to review afterwards. This would make it easy to make very repeatable timings to evaluate changes.

I could imagine this also being useful for Flutter apps and tests. It could be neat if next to the Run/Debug links in VS Code above tests, there was a "Profile" (or similar) link, which runs the tests while capturing a trace, then opens the Timeline afterwards.

cc @kenzieschmoll

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza leyendo el flujo existente de grabación de la timeline de DevTools y las API de dart:developer Timeline mencionadas en el issue. Define el alcance para la grabación programática, la ejecución de acciones, la exportación de un trace y su apertura en DevTools; done debe significar que las capturas de tiempos repetibles pueden revisarse posteriormente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
devtools, performance
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.