Automatically select main isolate instead of the test runner isolate when connecting to test runs
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- dart
- Ambito
- devtools, performance, testing
Direzione di ricerca
Riproduci il problema con bin/main.dart e test/cpu_profile_test.dart, seguendo i passaggi per i breakpoint e il profiling della CPU descritti nel report. Inizia tracciando il modo in cui DevTools si connette a un'esecuzione di test e seleziona un isolate; il lavoro è completato quando il profiling dell'esecuzione di test acquisisce il lavoro in cpu_profile.calculate() e mostra dati come il programma standalone.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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:
- Lingua principale
- Dart
- Stelle
- 1.7k
- Fork
- 405
- Merge medio
- 4g 21h
- PR unite (30g)
- 15
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di flutter/devtools
-
cleanup P1
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
a: quality cost: low P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
contributions welcome cross-screen inspector-2.0-polish P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
cross-screen P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
documentation good first issue P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
Tutte le issue di flutter/devtools
Issue simili
-
bug triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
fluttercommunity/plus_plugins#3979 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
from.page-issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
enhancement UI: Material
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Notsfsssf/pixez-flutter#1360 ·
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100