-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
external addon: script to combine events #10
Comments
Won't KCacheGrind allow you to see it the way you want? It shows you the total number of samples in func1 and func2 including samples in callees. |
The issue in KCachegrind is the source view where many code lines have a reference to calling a lot of functions. If not guessed already: the code is generated and include multiple functions in each line. |
Having a look at some Kcachegrind visualizations I propose an additional feature:
with an assumed call of
The result would be that all cost are noted as "self" in db_call (instead of "inclusive") and when inspecting the callers of strcmp one would only see the code that can be adjusted (in that sample "main"). I think the biggest point of this issue is to provide the logic and calculation to combine calls, the other points are more about the "way it is used". I think |
Regarding TBH, I'm not sure whether such things should be feature of pgconvert or KCacheGrind. This should be up to GUI how to represent the data. |
Generally speaking, I don't see this as a feature of pgconvert is already quite a complicated tool, so let it do its single job: convert collected samples to callgrind file without any alterations. |
I had not inspected the format in detail and that will likely take a while. Let's keep that issue open. What is your take on this? |
Makes perfect sense: |
Do you know of scripts that adjust the callgrind profiles? I did not found any, only find parsers and only found one that seems useful for the callgrind files generated by |
I never bothered to look :) I always wanted to have a full and unmodified view of profile data. |
This is possibly a quite "special" request: I'd like to combine events that match a prefix/suffix, which would be specified on command line.
By "combine" I mean that the events would be calculated as if they would have been seen in the caller:
Giving the following four stacktraces during the
pgcollect
run:And a suggested call of
pgconvert -d symbol -c "intfunc*,*_" filename.pgdata > callgrind.out.overfiew_pgdata
"
-c func
count as caller, may use an asterisk to match multiple ones"The "inspected" call stacks would be (after combining everything that starts with "intfunc" or ends with "_"):
when combining the call all costs attached to this specific entry would be counted as happened in the caller... _ maybe_ that means the combination switch must be handled (and therefore specified) during recording already?
The text was updated successfully, but these errors were encountered: