Statistics with cross-reference (-yx) omissions

Posted by dbeavon on 23-Jun-2019 23:10

I was trying to use the -yx startup parameter today to troubleshoot some slow-running programs.  It appears to have a total execution time column in the output.  But the information seems to be incomplete.  It doesn't add up to the total elapsed execution time as observed by the original caller.

https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dpspr%2Fstatistics-with-cross-reference-(-yx).html%23

While trying to interpret the output, it occurred to me that last (Time) column is not the total execution time for the procedure in question. (even though the docs say it is "The total execution time of the called procedure, in milliseconds").  In reality it appears that the column reports the EXCLUSIVE execution time of the procedure, and does so by subtracting out the execution time of any nested program calls.  This is probably a helpful thing to do in most circumstances, because it avoids execution time from being double-reported at various levels of the callstack.  It would probably be a good thing except for the next problem I found.

The next problem I found is the fact that there are LOTS of calls that are missing from the results of "-yx".  Any OOABL method calls are missing, along with internal procedure calls.  The times for these are altogether excluded from the "Time" column, meaning that there are large gaps where we are unable to determine what our programs are actually doing.  The sum of the "Time" column is a lot smaller than it should be.

Are these a well known issues with the "-yx" startup parameter?  I don't see any KB's about the behavior of that parameter.  Any information would be appreciated.

Posted by gus bjorklund on 24-Jun-2019 00:10

you should contact tech support.

the original -yx implementation was done long ago, before there were any method calls or internal procedures. it is possible that no one remembered to add these things to it. or maybe a later bug fix broke it.

All Replies

Posted by gus bjorklund on 24-Jun-2019 00:10

you should contact tech support.

the original -yx implementation was done long ago, before there were any method calls or internal procedures. it is possible that no one remembered to add these things to it. or maybe a later bug fix broke it.

Posted by jankeir on 24-Jun-2019 07:34

Also, I have never used the -yx parameter but I have used the -y parameter (around 10.1A era) which appears related and that only ever showed the first 500 .r files used by a session. If you have used over 500 .r files you will never see them. I contacted tech support about that when I discovered it and that was expected behavior (I believe they pointed me to the relevant documentation or Kb that mentioned it.)

This thread is closed