instrumentation / profiling

So apparently (and if I understood correctly) we can profile Fabric using the instrumentation interface... but the example is somewhat sparse!!

I'm not sure I understood what it does or how to use it; following the doc example, I tried running Fabric from Python, but that was akin to rewriting canvas.py so I gave up.

So instead I tried starting Fabric normally, and calling start/stopInstrumentation() from the script editor.
I fumbled with it for a while, first I had to figure out how to access the current client (binding.client?), then I tried calling start, touch some things, then call stop: nothing, all I ever got back was [].
I also tried calling start/stop in one go, still nothing. Here's the script:

import json

client = binding.client
client.startInstrumentation()

# touch the grapth to force an evaluation...?
binding.setPortDefaultValue("", "GetSphere_1.radius", "Scalar", "1.55")

# get the data & print it / json-dump it
raw = client.stopInstrumentation("raw")
print raw
print json.dumps(raw)

Not sure this is the right way to go, and again not sure this even does what I want.
We're building a scatter-painting tool that is rather sluggish (raycasting all over the place), and I'd like to figure out where we're spending our time, as we paint.

Basically, what I'd love is a realtime profiler similar to Telemetry.

R&D Developer at Dwarf Animation Studio

Sign In or Register to comment.