Archive
Archive for November, 2017
Racing Rakudo
November 5, 2017
1 comment
In many racing sports telemetry plays a big role in getting faster. Thanks to a torrent of commits by lizmat you can use telemetry now too!
perl6 -e 'use Telemetry; snapper(½); my @a = (‚aaaa‘..‚zzzz‘).pick(1000); say @a.sort.[*-1 / 2];' zyzl Telemetry Report of Process #30304 (2017-11-05T17:24:38Z) No supervisor thread has been running Number of Snapshots: 31 Initial Size: 93684 Kbytes Total Time: 14.74 seconds Total CPU Usage: 15.08 seconds wallclock util% max-rss gw gtc tw ttc aw atc 500951 53.81 8424 500557 51.92 9240 548677 52.15 12376 506068 52.51 196 500380 51.94 8976 506552 51.74 9240 500517 52.45 9240 500482 52.33 9504 506813 51.67 6864 502634 51.63 500520 51.78 6072 500539 52.13 7128 503437 52.29 7920 500419 52.45 8976 500544 51.89 8712 500550 49.92 6864 602948 49.71 8712 500548 50.33 500545 49.92 320 500518 49.92 500530 49.92 500529 49.91 500507 49.92 506886 50.07 500510 49.93 1848 500488 49.93 500511 49.93 508389 49.94 508510 51.27 264 27636 58.33 --------- ------ -------- --- -------- --- -------- --- -------- 14738710 51.16 130876 Legend: wallclock Number of microseconds elapsed util% Percentage of CPU utilization (0..100%) max-rss Maximum resident set size (in Kbytes) gw The number of general worker threads gtc The number of tasks completed in general worker threads tw The number of timer threads ttc The number of tasks completed in timer threads aw The number of affinity threads atc The number of tasks completed in affinity threads
The snapper function takes an interval at which data is collected. On termination of the program the table above is shown.
The module comes with plenty of subs to collect the same data at hand and file your own report. What may be sensible in long running processes. Or you call the reporter sub by hand every now and then.
use Telemetry; react { snapper; whenever Supply.interval(60) { say report; } }
If the terminal wont cut it you can use http to fetch telemetry data.
Documentation isn’t finished nor is the module. So stay tuning for more data.
Categories: Perl6