[Info-vax] High resolution per-process CPU consumption statistics
VAXman- at SendSpamHere.ORG
VAXman- at SendSpamHere.ORG
Tue Mar 24 18:51:50 EDT 2020
In article <e9e7b8c6-b229-4504-9859-85b33912de30 at googlegroups.com>, johnwallace4 at yahoo.co.uk writes:
>On Tuesday, 24 March 2020 17:05:24 UTC, Mark Daniel wrote:
>> On 24/3/20 9:24 pm, johnwallace4 at yahoo.co.uk wrote:
>> > On Tuesday, 24 March 2020 00:02:22 UTC, Mark Daniel wrote:
>> >> Would like to be able to measure process CPU consumed during specified
>> >> continuous sections of processing. Only interested in CPU-intensive
>> >> sections so USER mode consumed relevant. Imagine inserting calls at the
>> >> beginning and ending of those sections with a magic number representing
>> >> CPU consumption/delta/whatever made available.
>> >>
>> >> As some of these CPU-intensive code sections are short duration the
>> >> granularity needs to be quite fine. The likes of JPI$_CPUTIM and
>> >> LIB$STAT_TIMER (10mS) seem unsuitable.
>> >>
>> >> Prepared for non- USER mode code. This is only for ad hoc developmental
>> >> insight and not general use. Needs to accommodate Alpha and/or Itanium
>> >> (and/or x86-64 :-)
>> >>
>> >> And, of course, any other suggestion.
>> >>
>> >> As always, TIA.
>> >
>> > Is it safe to assume that the code in question is single-threaded?
>>
>> Yes.
>>
>> > Is it safe to assume that the code in question is running on a
>> > single-processor system?
>>
>> Yes.
>>
>> > Is an Alpha-only solution better than nothing at all?
>>
>> Sure.
>>
>> > Have a look at RPCC (Read Process Cycle Counter) in the Alpha/VMS
>> > PALcode and see if it might help.
>> >
>> > See e.g. the Alpha Architecture Reference Manual documentation e.g.
>> > http://www.bitsavers.org/pdf/dec/alpha/Sites_AlphaArchitectureReferenceManual_1992.pdf
>> > (there's probably more useful RPCC-related stuff available too).
>>
>> Before posting here, a fair effort with an unnamed but common search
>> engine and my chosen query strings consistently returned references to
>> that document and section.
>>
>> My fevered imagination (but internals hacking very-much limited to
>> monkey-see-monkey-do) has something of the ilk:
>>
>> unsigned __int64 start_count,
>> end_count;
>>
>> void get_cpu_count (unsigned __int64 *here)
>> {
>> *here = EXE$GL_CURRENT_CPU_COUNT;
------------------^^^^^^^^^^^^^^^^^^^^^^^^
Where do you resolve this???
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
I speak to machines with the voice of humanity.
More information about the Info-vax
mailing list