Что эквивалентно TimingLogger в Dart / Flutter?

#performance #flutter #dart #profiling

#Производительность #flutter #dart #профилирование

Вопрос:

         val timings = TimingLogger("FEED_PROFILE", "reading bitmap frame")
        val bitmap = BitmapFactory.decodeByteArray(imageData, 0, imageData.size);
        timings.addSplit("converting bytes to bitmap done")
        val bmOverlay = Bitmap.createBitmap(bitmap.width, bitmap.height, bitmap.config)
        timings.addSplit("reading bitmap done")
        timings.dumpToLog()
  

Приведенные выше результаты

 D/FEED_PROFILE( 5019): reading bitmap frame: begin
D/FEED_PROFILE( 5019): reading bitmap frame:      244 ms, converting bytes to bitmap done
D/FEED_PROFILE( 5019): reading bitmap frame:      0 ms, reading bitmap done
D/FEED_PROFILE( 5019): reading bitmap frame: end, 244 ms
  

Но это код Kotlin / Java. Что нужно Flutter / Dart для достижения аналогичного результата?

В настоящее время я использую

  final start = DateTime.now().millisecondsSinceEpoch;
 // something
 final lapse = DateTime.now().millisecondsSinceEpoch - start;
 print('$logId Screenshoot took $lapse ms ${pngBytes.length}');
  

Но это усложняется, когда я пытаюсь воспроизвести addSplit . Поэтому я ищу что-то встроенное в Dart или Flutter

Ответ №1:

Я создал плагин, ожидая ответа https://pub.dev/packages/timing_logger