I have a software offering that Dave Cole markets. You can go to his website, and take a look at z/XPF. It competes in a niche market on z/OS, application profiling. What makes mine different from the other guys in this arena is the approach I use to get the profiling data. Instead of establishing tasks or running srb's into an address space, my code scrapes the system trace table for entries that are related to the target address space. This approach provides for a variety of statistical data about application performance that the other products know nothing about. Although I have been working on this since late in 2005, it is really still in its infancy as to what it eventually will become.

One of my current customers requested the ability to communicate to my profiler that the application had passed a specific point in their code...a trace point. Since my code already has the ability to pick up SVC entries from the trace table, this seemed the most logical approach. Hence, a do nothing SVC whose sole purpose was to communicate to existing code that an event had occurred. (This is a shorthand version of what is involved). A user would then be able to bracket pieces of their code, and get a count and elapsed time data for how often the code went thru the trace point, and the elapsed time between one trace point and the next, which formed a pair of brackets in their code.

I have abandoned the SVC approach, and am now working on the code to use PTRACE instead. PTRACE will function in any environment, which makes it more appealing. But, you only get 5 words of trace data with every trace entry created using this approach. Means I will have to process 3 trace records to get the trace data I want. The SVC approach generated two trace entries, SVC enter and SVC return. Tradeoffs in everything.

I asked the original question, just because the manuals seemed ambiguous as to the correct course. Peter Relson's comments on having the right data in a dump when someone is looking at it is spot on. I didn't think of that at all until he mentioned it. Tunnel vision.

   --Dave Day
----- Original Message ----- From: "John Gilmore" <[email protected]>
Newsgroups: bit.listserv.ibm-main
To: <[email protected]>
Sent: Tuesday, January 03, 2012 12:36 PM
Subject: Re: Question on adding an SVC routine dynamically to a running system


Tom Marchant wrote:

| What's wrong with just issuing a TIME macro to get the time entry?

Notionally, this would greatly reduce system overheads; but if elapsed
time is what is required, what's wrong with a pair of STCKEs?  Using
them would reduce these overheads to zero.

It may be, however, that we don't fully understand the problem.  BD
knows hows to use the TIME macro.

John Gilmore, Ashland, MA 01721 - USA

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to