fnx_profiler 0.9.1 copy "fnx_profiler: ^0.9.1" to clipboard
fnx_profiler: ^0.9.1 copied to clipboard

Dart 1 only

Imperative profiler for Dart applications.

fnx_profiler #

A library for Dart developers. It is awesome!

fnx_profiler is an "imperative" profiler. You manually mark blocks of code you want to profile. Profiler is hierarchical, you can add children to it and grandchildren to them, whole clans of profilers will help you to drill down to that performance bottleneck.

Use it like this:

import 'package:fnx_profiler/fnx_profiler.dart'

Profiler p = openRootProfiler("root");
// do something expensive
p.close();
printProfilerStats();

Or this:

Profiler p = openRootProfiler("root");
for (int a=0; a<3; a++) {
    Profiler ch = p.openChild("child");
    // do something nested
    ch.close();
}
p.close();

Or even this:

Profiler p = openRootProfiler("root");
await p.profileFuture("future", someFuture);
p.close();

Yes, it's pretty straightforward, even naive, but it works. Run your code, check the results at the end, find the bottleneck, optimize and repeat.

Example #

Please see the full example. Example generates this output:

name                   |     calls|  avg (ms)|  min (ms)|  max (ms)|
--------------------------------------------------------------------
root                   |         1|    1219.0|      1219|      1219|
root.child0            |         1|     116.0|       116|       116|
root.child0.grandchild |         5|      22.6|        21|        24|
root.child1            |         1|     125.0|       125|       125|
root.child1.grandchild |         5|      24.6|        22|        26|
root.child2            |         1|     123.0|       123|       123|
root.child2.grandchild |         5|      24.2|        23|        25|
root.myFunction        |        10|      44.2|        42|        45|
root.myFuture          |        10|      33.4|        30|        35|

Features and bugs #

Please file feature requests and bugs on Github.

0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

Imperative profiler for Dart applications.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (LICENSE)

More

Packages that depend on fnx_profiler