Automatically select main isolate instead of the test runner isolate when connecting to test runs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- dart
- Área
- devtools, performance, testing
Línea de trabajo
Reproduce el problema con bin/main.dart y test/cpu_profile_test.dart, siguiendo los pasos de breakpoints y perfilado de CPU indicados en el informe. Empieza siguiendo cómo DevTools se conecta a una ejecución de prueba y selecciona un isolate; el trabajo estará terminado cuando el perfilado de la ejecución de prueba capture el trabajo en cpu_profile.calculate() y muestre datos como el programa independiente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I don't know if this is a DevTools issue or something else, but I'm also not sure how to determine which.
When running tests, CPU profiling never seems to collect any data. For example given a sample project with a bin/main.dart that calls a function in lib that blocks for 5s, and a test that does the same:
bin/main.dart
import 'package:cpu_profile/cpu_profile.dart' as cpu_profile;
void main(List<String> arguments) {
print('starting'); // breakpoint
cpu_profile.calculate();
print('done!'); // breakpoint
}
lib/cpu_profile.dart
int calculate() {
var start = DateTime.now();
while (start.difference(DateTime.now()).inSeconds.abs() < 5) {}
return 6 * 7;
}
test/cpu_profile_test.dart
import 'package:cpu_profile/cpu_profile.dart' as cpu_profile;
import 'package:test/test.dart';
void main() {
test('calculate', () {
print('starting'); // breakpoint
cpu_profile.calculate();
print('done!'); // breakpoint
});
}
For bin/main.dart:
- Open
bin/main.dart - Add breakpoints on the marked lines
- Run in debug mode and hit the first breakpoint
- Open DevTools CPU profile, enable profiling, and start recording
- Resume execution and wait for it to hit the second breakpoint
- Stop CPU profiling and observe the results
Perform the same steps but using the test instead, and the profiler doesn't show any data:
- Lenguaje dominante
- Dart
- Estrellas
- 1.7k
- Forks
- 405
- Merge medio
- 4 d 21 h
- PR fusionados (30 d)
- 15
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de flutter/devtools
-
cleanup P1
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
`dcm analyze` false positives Abiertoa: quality cost: low P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
contributions welcome cross-screen inspector-2.0-polish P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Support removing storage keys Abiertocross-screen P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
documentation good first issue P2
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Todos los issues de flutter/devtools
Issues similares
-
[Bug]: New version of nm package Abiertobug triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
fluttercommunity/plus_plugins#3979 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
from.page-issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
enhancement UI: Material
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Notsfsssf/pixez-flutter#1360 ·
-
triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100