Feature requests (small-scale, near-term changes) ================================================= Report CPU load per frame. Report GPU load per frame. Report CPU frequency per frame. Report GPU frequency per frame. Report shader compilation time. Report elapsed time per frame. Add options to control which metrics should be collected. Add Eric's tiny hash table for collecting per-shader statistics people.freedesktop.org:~anholt/hash_table Capture GPU performance counters. Allow dumping of shader source for investigation Infrastructure (larger-scale things, more future-looking items) =============================================================== Use ncurses for a better top-like display. Report timestamps and CPU time durations for operations causing CPU/GPU syncs. Emit per-frame data in a format for external timeline viewer. Allow enabling/disabling of tracing at run-time Such as via signals, (optionally specified by env. variable) Investigation for other potential features ========================================== Audit Eric's recipe for performance tuning to see what else fips should automatically collect: http://dri.freedesktop.org/wiki/IntelPerformanceTuning/ Audit exisiting visualization tools before writing one from scratch Eero suggested two possibilities: pytimechart ----------- http://pythonhosted.org/pytimechart/index.html e-graph ------- https://gitorious.org/e-graph Others? Explore using perf/LTTng probing instead of LD_PRELOAD wrapper This has the advantage of allowing full-system, multi-process data collection.