Metrics on Windows XP
John Zinky
jzinky at bbn.com
Wed Jul 11 14:08:31 EDT 2007
Guillaume,
The Host metrics come from a metric service via the SysStat "Data
Feed", which periodically polls the host OS for system metrics.
For linux this is easy using the /proc file interface.
For Solaris and MacOS we can get the load average by executing the
program "uptime"
For Windows nothing is easy, (at least for us). We attempted using
JNI to make Windows system calls, but abandoned that code as unreliable.
If you know of a way to get at Windows OS parameters from java,
without JNI calls please tell us we can add these calls. I.E. is
there a program that we can exec, that is always installed in
Windows? If you have working JNI code we might look at, but no
promises. DLL's are a configuration nightmare.
Specifically, we would like to fill in the metrics servlet table
"$<NODE1>/metrics/resources"
or the Metrics Host Keys
http://cougaar.cougaar.org/software/latest/doc/OnlineManual/
MetricsService/keys.html
The missing metrics are:
LoadAverage (this is the key metric, but Windows does not seem to use
Load Average (Average number of jobs ready to run).
Cache
TcpInUse
UdpInUse
TotalMemory
FreeMemory
Windows metrics that cougaar currently measures.
Count is obtained via Java System calls
JIPS (Java Instructions per second) is obtained via a micro benchmark
when the node first starts up.
BTW: You could not find these metrics in the Cougaar code because,
the Metric Service implementation really is the QuO Resource Status
Service (quo.bbn.com), so the source code is not available via
cougaar.org. We are debating on whether to add the QuO RSS source
code to cougaar. Adding Windows support may be a good excuse to do
this branch.
On Jul 11, 2007, at 11:43 AM, Guillaume Liegard wrote:
> Hello,
>
> I'm a new Cougaar developper.
>
> I want to know if the metric service can bring me informations
> about the computer in general.
> For example, I need the CPU usage of the computer in general (not
> only the CPU usage of an agent or a node, or the jvm).
>
> Then, the feature must run on Windows XP.
> And I get "WARN [DirectSysStatSupplier] - No handler for CPU on
> platform Windows XP", which makes me think it won't work on Windows.
>
> That's why I want to add new metrics, based on native calls.
> So I read the documentation at "http://cougaar.cougaar.org/software/
> 12.2/OnlineManual/MetricsService/ ", in particular the section "Add
> New Metric".
> I look at an exemple of sensor plugin :
> "org.cougaar.core.thread.AgentLoadSensorPlugin".
> But this sensor get it's values suscribing to the metric service,
> and there is no metric which can answer my need : Get the global
> CPU usage on Windows plateform.
>
> Finaly, I look at the "Use Cases and Examples", in particular the
> "Example Metrics Writer", in order to be able to add my own key.
> When I add a new key, like the "Example Metrics Writer" do with the
> "Current_Time_Millis" key ; I can't get the value after, because I
> don't know the path.
> For example, I manage to modify an existing key, like "Host_[Host
> IP]_CPU_Jips", and get my funny value after because I know the path
> is "Host([Host IP]):Jips".
> So where can I do the mapping between key and path ? Because the
> example shows how can I put a key, but not how can I put the path.
>
> --
> Guillaume Liégard
>
> _______________________________________________
> Cougaar-developers mailing list
> Cougaar-developers at cougaar.org
> http://cougaar.org/mailman/listinfo/cougaar-developers
More information about the Cougaar-developers
mailing list