hxScout aims to be a free, cross-platform alternative to Adobe Scout. When ready, the tool should provide much the same capability of its commercial counterpart, as the ability to display telemetry, debug, and memory usage data from a Flash Player runtime. The idea is to have the Haxe server read the Scout telemetry data stream, store stateful data, and deliver that data to some GUI.
The project is in pre-alpha at the moment. There is a socket server and AMF reader proof of concept. It currently only tracks frame durations, and doesn’t do it quite correctly, but it’s on the right track. The current GUI is familiar to Adobe Scount and is able to display allocations to see the garbage collector at work.
Sample
Server.hx:17: {name => callstack, delta => 236, span => 165} Server.hx:17: {name => .sampler.medianInterval, delta => 1} Server.hx:17: {name => .sampler.averageInterval, delta => 28, span => 21} Server.hx:17: {name => .sampler.maxInterval, value => 0} Server.hx:17: {name => .3d.resource.drawCalls, value => 1} Server.hx:17: {name => [object Function], delta => 3817, span => 3791, value => .player.cpu} Server.hx:17: {name => .tlm.doplay, delta => 7, span => 3810} Server.hx:17: {name => - seed=1506269906, delta => 22, span => 10} Server.hx:17: {name => [object BitmapData], delta => 576, span => 539} Server.hx:17: {name => .swftags, delta => 5, span => 561, value => {name => null, modified => false, ymin => 0, ymax => 768, xmin => 0, xmax => 1024, symbolname => null}} Server.hx:17: {name => .rend.display.mode, delta => 715, span => 1} Server.hx:17: {name => fullscreen, delta => 20, span => 5189} Server.hx:17: {name => .memory.newObject, value => {stackid => 0, size => 40, type => [object AVM1Movie$], time => 705633, id => 216931352}} Server.hx:17: {name => .memory.newObject, value => {stackid => 412, size => 56, type => [class String], time => 705743, id => 293804592}}