rib / gputop

A GPU profiling tool
160 stars 37 forks source link

X/Y graphs for selected tracepoints #180

Closed eero-t closed 6 years ago

eero-t commented 6 years ago

Currently there seems to be only a log of the tracepoints selected by "Select tracepoints" view in gputop-ui.

It would be nice to be able to add a timeline for each of the selected tracepoints, to see for how many times each of them occurs during the sampling period, and if it happens only once, when exactly that happens (e.g. flip).

For some of the tracepoints like this one: kworker/u16:1-21675 [000] .... 17170.769758: intel_gpu_freq_change: new_freq=400

Showing the indicated value instead would be nice. In above case, one could then compare kernel GPU frequency requests against the actual "AVG GPU Core Frequency" OA counter value.

djdeath commented 6 years ago

Actually if you look at the timeline window, there a another timeline belong (you might need to grow the window in height). If you're using this branch : https://github.com/djdeath/linux/tree/wip/djdeath/oa-next GPUTop will be able to merge to 2 timelines into one. Unfortunately this isn't upstream yet, the patches need a bit more work.

eero-t commented 6 years ago

Timeline where each individual trace point event is shown as a horizontal line (similar to other tracing GUIs), is useful when one is investigating latency issues (i.e. very short time intervals), but I was thinking more about X/Y timelines like the "Global" & "Per context" ones.

One where Y-value is either:

For latter, I would use the visible OA sampling period as that would help #188.

eero-t commented 6 years ago

Maybe these would actually be better to be handled as special "tracepoint counters", along the lines of what I described in #188?

Currently I have only 2 tracepoints I care to track this way, user space buffer swaps, and kernel GPU freq request. I already have ticket for the first, I can add another one for the second one.