|Collecting mesurments Perfmon [message #77778]
||Wed, 19 July 2006 10:00
Originally posted by: powerkleszcz.o2.pl|
How tptp in eclipse collets this data (mesurments) are there some listeners
or something else.
How get this data from perfmon.
I have whole tree of dependencis of what he can mesure, I know how to send
him what should he mesure but I don't know how to take this data from him.
|Re: Collecting mesurments Perfmon [message #78082 is a reply to message #77976]
||Thu, 20 July 2006 18:18
| Randy D. Smith
Registered: July 2009
Przemyslaw Kleszczewski wrote:|
> I think we misunderstud. I want to know what does perfmon agent do with his
> mesurments and how can I get them in my aplication? For example i start
> mesering procesor freqency and perfmon starts monitoring. What is he dowing
> whit this data and what can i do to get them.
> Thanks for all informations.
I'm thinking we're misunderstanding as well... I thought your original
question was looking at things from "the client side", and I thought
Paul addressed that somewhat. (Better than I could... I'm pretty
clueless on the client side.)
But here, though you allude to the client side ("how can I get them in
my application"), I think you're back on the agent side.
The PerfmonAgent is several threads. One thread responds to commands
(the "processCommand" callback provides the agent code to respond to
commands), and those commands basically tell it to modify a database
(actually just a hashtable) of name/value pairs. For your example above,
you might have an entry like MeasureProcessorFrequency that takes an
on/off value. On the app side, they click on the box for "Measure
Processor Frequency", and your app sends over something that basically
says "SetNameValuePair/MeasureProcessorFrequency/on"; they "un-click" it
and "SetNameValuePair/MeasureProcessorFrequency/off" command is sent over.
So that's one thread... the "command response thread".
Meanwhile, another thread is sitting in a timing loop, and every
so-many-units-of-time, it goes through the table and determines what
values to collect, it collects those values, packages them up, and sends
them across back across the wire to the app via sendData calls within
the agent. That data is constructed following the XML guidelines Paul
The main thread, once it sets things up for the other two threads, is
just waiting for the app to end... it's not doing anything else useful.
This is a simplified view of things... and might match the "migrated"
PerfmonAgent I worked on more closely than it does the "real" one that
comes with TPTP 4.2 ... but at a high level it is close enough.
You might still be wondering how the client side is getting this data
and displaying it... as I said, there I can't help you. There's one
person in my team who does know... but he left for a fairly long
vacation right about the time you started asking about this. The ones
who know even better are the original authors of the PerfmonAgent... I
pinged them privately via e-mail and asked them to respond, but they've
not responded... I can't make them respond... sorry.
One possible glimmer of hope is that I keep finding myself inexorably
drawn over to the client side for some stuff I'm working on now...
should I find myself there and get more insights, I'll let you know.
(It's actually the profiling data view not the statistical data view,
but there might be enough similarity that light bulbs go off for me.)
Randy D. Smith randy (dot) d (dot) smith (at) intel (dot) com
Eclipse TPTP Committer, Platform Proj (data collection/agent controller)
Powered by FUDForum
. Page generated in 0.25919 seconds