From einhuf at gmail.com Thu Aug 2 11:00:26 2007 From: einhuf at gmail.com (Einhuf) Date: Thu, 2 Aug 2007 17:00:26 +0200 Subject: YPService simple example In-Reply-To: <5c98dfa00708020739n56ebc21clc62c100280717794@mail.gmail.com> References: <5c98dfa00708020739n56ebc21clc62c100280717794@mail.gmail.com> Message-ID: <5c98dfa00708020800k624cf2fcl26f1a1204c0a27dd@mail.gmail.com> Hello together, currently I?m writing on my diploma thesis and I want/(have to) to use cougaar as my agent platform for some use case implementations. I am totally new to cougaar and spent a day to browse thought the architecture and developers guide to get an idea of the framework. For my purpose I only need the possibility to send messages to other agents and to find them by a service-description and yellow page service. All other stuff will be done by an external state machine (role concept). Today I tried to do the pizza example, but I don?t get the way how to use the YPService. Now I wanted to ask, if anybody has a tutorial only about Service Discovery on a simpler level. What I need is, that an agent registers like "I am ServiceType A" and others can search for them by saying "I search for ServiceType A" and gets a collection of AgentIDs. Afterwards, I want to talk to these agents to negotiate about an service exection. That?s all, but I can?t extract this simple situation out of the pizza tutorial example. I am now at the SimpleSDClientPlugin and I can?t follow the process. Its really confusing to me, what is happening in this example. I am not firm to the plugin concept and I really lost the thread now, trying to understand what happens. Can anybody help me or send code to me, where service discovery is simpler? I will try to go on tomorrow, but maybe can anyone help me with easier code examples without all pizza application specific features. Thanks a lot, best regards from Munich, Germany, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: http://cougaar.org/pipermail/cougaar-developers/attachments/20070802/3b103cae/attachment.html From ahelsing at bbn.com Thu Aug 2 11:18:21 2007 From: ahelsing at bbn.com (Aaron Helsinger) Date: Thu, 02 Aug 2007 11:18:21 -0400 Subject: YPService simple example In-Reply-To: <5c98dfa00708020800k624cf2fcl26f1a1204c0a27dd@mail.gmail.com> References: <5c98dfa00708020739n56ebc21clc62c100280717794@mail.gmail.com> <5c98dfa00708020800k624cf2fcl26f1a1204c0a27dd@mail.gmail.com> Message-ID: <46B1F5BD.9070208@bbn.com> If you are having trouble with the Plugin concept, you should go back to the basic tutorials and slides http://tutorials.cougaar.org/ The pizza app is a fairly simple explanation of Service Discovery. You should be able to use it as a basis to do what you want -- I would suggest modifying this code to do what you need. Details on the data flow in the Pizza application are here: http://tutorials.cougaar.org/pizza/flow.html It describes what the Pizza SDClientPlugin is doing -- hopefully enough that you can avoid trying to fully understand the SimpleSDClientPlugin You may simply be able to extend the pizza party app to do your thing. Try looking at these docs: http://tutorials.cougaar.org/pizza/extending.html The slides that walk you through the configuration files of the Pizza app should help too: http://cougaar.org/docman/view.php/5/169/pizza-overview.ppt Aaron Einhuf wrote: > Hello together, > currently I?m writing on my diploma thesis and I want/(have to) to use > cougaar as my agent platform for some use case implementations. I am > totally new to cougaar and spent a day to browse thought the > architecture and developers guide to get an idea of the framework. For > my purpose I only need the possibility to send messages to other > agents and to find them by a service-description and yellow page > service. All other stuff will be done by an external state machine > (role concept). > > Today I tried to do the pizza example, but I don?t get the way how to > use the YPService. Now I wanted to ask, if anybody has a tutorial only > about Service Discovery on a simpler level. What I need is, that an > agent registers like "I am ServiceType A" and others can search for > them by saying "I search for ServiceType A" and gets a collection of > AgentIDs. Afterwards, I want to talk to these agents to negotiate > about an service exection. That?s all, but I can?t extract this simple > situation out of the pizza tutorial example. I am now at the > SimpleSDClientPlugin and I can?t follow the process. Its really > confusing to me, what is happening in this example. I am not firm to > the plugin concept and I really lost the thread now, trying to > understand what happens. Can anybody help me or send code to me, where > service discovery is simpler? > I will try to go on tomorrow, but maybe can anyone help me with > easier code examples without all pizza application specific features. > Thanks a lot, best regards from Munich, Germany, > Thomas > > ------------------------------------------------------------------------ > > _______________________________________________ > Cougaar-developers mailing list > Cougaar-developers at cougaar.org > http://cougaar.org/mailman/listinfo/cougaar-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://cougaar.org/pipermail/cougaar-developers/attachments/20070802/3c4a12b9/attachment.html From einhuf at gmail.com Mon Aug 6 03:49:10 2007 From: einhuf at gmail.com (Einhuf) Date: Mon, 6 Aug 2007 09:49:10 +0200 Subject: MTS or Ping Example Message-ID: <5c98dfa00708060049o40a48547rf151543288d04885@mail.gmail.com> Hi again, I only want to send messages from a sender to a receiver agent (currently inside one node on one computer). I only found the ping example to send messages and the MTS Service. But the documentation doesn?t include themes like "how to use" or examples. And the api Message Transport Service online manuel isn?t reachable ( The requested URL /software/latest/javadoc/mtsstd/doc/OnlineManual/MessageTransport/index.html was not found on this server.) Has anybody a link or code for the usage of that service. Or would you use the ping example via blackboard to communicate with other agents? Thanks, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: http://cougaar.org/pipermail/cougaar-developers/attachments/20070806/3744fdec/attachment-0001.html From twright at bbn.com Tue Aug 7 18:48:10 2007 From: twright at bbn.com (Todd Wright) Date: Tue, 07 Aug 2007 18:48:10 -0400 Subject: MTS or Ping Example In-Reply-To: <5c98dfa00708060049o40a48547rf151543288d04885@mail.gmail.com> References: <5c98dfa00708060049o40a48547rf151543288d04885@mail.gmail.com> Message-ID: <46B8F6AA.7000200@bbn.com> Einhuf wrote: > Hi again, > I only want to send messages from a sender to a receiver agent > (currently inside one node on one computer). I only found the ping > example to send messages and the MTS Service. But the documentation > doesn?t include themes like "how to use" or examples. And the api > Message Transport Service online manuel isn?t reachable ( The requested > URL > /software/latest/javadoc/mtsstd/doc/OnlineManual/MessageTransport/index.html Here's a link to the online copy: http://cougaar.cougaar.org/software/latest/OnlineManual/MessageTransport/ > was not found on this server.) Has anybody a link or code for the usage > of that service. Or would you use the ping example via blackboard to > communicate with other agents? I recommend using the blackboard, as discussed in the overview slides: http://cougaar.org/docman/view.php/17/196/CougaarOverview.ppt and in the example code: http://build.cougaar.org/auto/HEAD/latest_success/demo-ping.zip Blackboard relays are analogous to inter-agent messages. However, if you prefer, you can use raw messaging. Your component can get the agent's MessageSwitchService: http://cougaar.cougaar.org/software/latest/javadoc/core/doc/api/org/cougaar/core/agent/service/MessageSwitchService.html The "sendMessage" method is easy to use. Receiving messages is more complicated -- you must add a "MessageHandler" that processes the messages on a separate thread, to avoid blocking the Message Transport. The code should look similar to: public boolean handleMessage(Message m) { if (!(m instanceof MyMessage)) return false; synchronized (queue) { queue.add(m); } schedulable.start(); // ThreadService pooled thread for our "run()" return true; } ... public void run() { synchronized (queue) { tmp.addAll(queue); queue.clear(); } for (Message m : tmp) { // process the message! } tmp.clear(); } I can provide a complete example if you're interested. However, I think that the blackboard approach is both easier to use and more flexible. Todd > > > Thanks, > Thomas > > > ------------------------------------------------------------------------ > > _______________________________________________ > Cougaar-developers mailing list > Cougaar-developers at cougaar.org > http://cougaar.org/mailman/listinfo/cougaar-developers From einhuf at gmail.com Wed Aug 8 02:35:30 2007 From: einhuf at gmail.com (Einhuf) Date: Wed, 8 Aug 2007 08:35:30 +0200 Subject: YPService simple example Message-ID: <5c98dfa00708072335t1a9d6cd8hc0c014916a41877b@mail.gmail.com> Thank you, I don?t need this complex example. I wrote a little framework, where I use message passing by the blackboard and it works well. The only thing what I had to consider was: If you call the blackboard from a different thread some error occurs like ("calling blabla from external transaction - or something like that). Because some agents should provide user input I used user interfaces and they run on a different thread than cougaar. Now I?m using this for each message passing: blackboard.openTransaction(); blackboard.publishAdd(message); blackboard.closeTransaction(); What I really would still need is a simpler example of the DF (YPService). I don?t know what the structure/schema is of the owl-s files, if I had to produce the wsdl by myself or if they are even necessary and many other open questions, where I am not sure if things are needed or if they come from another feature the pizza example wants to show. My version don?t run and no meaningful (to me) error message is produced. I would like to have a really simple example or step by step tutorial to see what components are required and which not. The pizza example includes features I don?t need, but I cannot follow all steps. But it seems like there are no simple, single (not a whole usecase with many features shown) examples for the basic features. Because I have pressure of time I can?t spend more time on the YP. I have to simulate an easy own broker by a simple lookup agent. But if anybody has some code, where I can get some hints to understand it better, please send it to me. Thanks and greetz from munich, Thomas Einhuf wrote: > Hi again, > I only want to send messages from a sender to a receiver agent > (currently inside one node on one computer). I only found the ping > example to send messages and the MTS Service. But the documentation > doesn?t include themes like "how to use" or examples. And the api > Message Transport Service online manuel isn?t reachable ( The requested > URL > /software/latest/javadoc /mtsstd/doc/OnlineManual/MessageTransport/index.html Here's a link to the online copy: http://cougaar.cougaar.org/software/latest/OnlineManual/MessageTransport/ > was not found on this server.) Has anybody a link or code for the usage > of that service. Or would you use the ping example via blackboard to > communicate with other agents? I recommend using the blackboard, as discussed in the overview slides: http://cougaar.org/docman/view.php/17/196/CougaarOverview.ppt and in the example code: http://build.cougaar.org/auto/HEAD/latest_success/demo-ping.zip Blackboard relays are analogous to inter-agent messages. However, if you prefer, you can use raw messaging. Your component can get the agent's MessageSwitchService: http://cougaar.cougaar.org/software/latest/javadoc/core/doc/api/org/cougaar/core/agent/service/MessageSwitchService.html The "sendMessage" method is easy to use. Receiving messages is more complicated -- you must add a "MessageHandler" that processes the messages on a separate thread, to avoid blocking the Message Transport. The code should look similar to: public boolean handleMessage(Message m) { if (!(m instanceof MyMessage)) return false; synchronized (queue) { queue.add(m); } schedulable.start(); // ThreadService pooled thread for our "run()" return true; } ... public void run() { synchronized (queue) { tmp.addAll(queue); queue.clear(); } for (Message m : tmp) { // process the message! } tmp.clear(); } I can provide a complete example if you're interested. However, I think that the blackboard approach is both easier to use and more flexible. Todd > > > Thanks, > Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: http://cougaar.org/pipermail/cougaar-developers/attachments/20070808/8e75e2ee/attachment.html From jzinky at bbn.com Wed Aug 8 10:48:30 2007 From: jzinky at bbn.com (John Zinky) Date: Wed, 8 Aug 2007 10:48:30 -0400 Subject: Metrics on Windows XP In-Reply-To: <1dd8f11e0707130606g687e5026p99826eff41483c1b@mail.gmail.com> References: <1dd8f11e0707110843u5618152csfcb496c221ff86fe@mail.gmail.com> <1dd8f11e0707130606g687e5026p99826eff41483c1b@mail.gmail.com> Message-ID: <5652D7BF-AF70-4444-A7A6-3EAC9246E8F8@bbn.com> We have moved the QuO Resource Status Service (QuO RSS) source code to cougaar qos/qrs module. For Cougaar HEAD, the QuO RSS is now in lib/qrs.jar instead of sys/ resource-status-service.jar. The source code allows you to see how the Metric Service works internally (without checking out Quality Objects (QuO) project (quo.bbn.com)). When the metric service is loaded into a node, one of the DataFeeds is a probe to gather performance statistics from the Node's host. The probe use org.cougaar.qos.qrs.sysstat.SysStatHandler to choose which probes to load, based on the OS and machine architecture. 1) For example, one of the probes is a mini-benchmark that calculates the Java Instructions Per Second (JIPS) of the host configuration. JIPS is a normalized metric that is independent of the Ghz, OS, Java VM, and memory cache of the host. Running the JIPS-benchmark is one of the reasons Cougaar Nodes take a few seconds to start up. 2) Other probes periodically poll (Default 15 seconds) to gather other host performance parameters (as displayed in the /metrics/ resources servlet) As part of the QuO RSS move, we revisited the lack of probes for Windows. We do NOT want to use DLLs, so a probe has to get the raw performance numbers from the JAVA VM, reading from the file system (Linux /proc), or by execing a program that is always installed. We need HELP finding sources of performance data for Window XP, and Windows Vista. LoadAverage: The metric we really need for Windows is LoadAverage. For Java 1.6 there is some hope for Java VM supplying Host LoadAverage java.lang.management.OperatingSystemMXBean getSystemLoadAverage() http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6336608 But Windows uses the "cpu utilization" metric and not load average, so this method may not be implemented for windows. For Windows XP, we are execing the "typeperf" program. http://technet2.microsoft.com/WindowsServer/en/Library/46938289- edb5-468a-b03f-4e5985bf8fca1033.mspx?mfr=true But we have to convert "cpu utilization" into an estimator of Load Average. typeperf "\Processor(_total)\% Processor Time" -sc 1 The probe code is in org.cougaar.qos.qrs.sysstat.XPSockStat Total Memory: typeperf does not seem to have a metric for total physical memory on the host. We see total memory being displayed in the "taskmgr". Temporarily, we use the "mem" command. Typeperf: We have found TCP Sockets and Host Free Memory HELP: Outstanding issues, (we could use help from Windows experts) 1) Is typeperf available on Vista and has the API changed? 2) Is there a LoadAverage performance metric available in Windows. 3) How do you get active number of UDP sockets from typeperf 4) How do you get total memory from typeperf 5) How to get the L2 cache for the Host 6) Are Sysinternals useful: http://www.microsoft.com/technet/ sysinternals/default.mspx From twright at bbn.com Thu Aug 9 19:35:25 2007 From: twright at bbn.com (Todd Wright) Date: Thu, 09 Aug 2007 19:35:25 -0400 Subject: YPService simple example In-Reply-To: <5c98dfa00708072335t1a9d6cd8hc0c014916a41877b@mail.gmail.com> References: <5c98dfa00708072335t1a9d6cd8hc0c014916a41877b@mail.gmail.com> Message-ID: <46BBA4BD.1000704@bbn.com> Einhuf wrote: > Thank you, I don?t need this complex example. I wrote a little > framework, where I use message passing by the blackboard and it works > well. The only thing what I had to consider was: If you call the > blackboard from a different thread some error occurs like ("calling > blabla from external transaction - or something like that). Because some > agents should provide user input I used user interfaces and they run on > a different thread than cougaar. Now I?m using this for each message > passing: > > blackboard.openTransaction(); > blackboard.publishAdd(message); > blackboard.closeTransaction(); Yes. Another option is to put the message on a queue and have the "execute()" method publish the object. This is illustrated in the PingSender plugin's use of a "TodoSubscription" to handle alarm callbacks: http://cougaar.org/cgi-bin/viewcvs.cgi/ping/src/org/cougaar/demo/ping/PingSender.java?annotate=1.2&cvsroot=tutorials#128 A TodoSubscription is similar to a Swing "invokeLater", as noted in the Javadoc: http://cougaar.cougaar.org/software/latest/javadoc/core/doc/api/org/cougaar/core/blackboard/TodoSubscription.html > > What I really would still need is a simpler example of the DF > (YPService). I don?t know what the structure/schema is of the owl-s > files, if I had to produce the wsdl by myself or if they are even > necessary and many other open questions, where I am not sure if things > are needed or if they come from another feature the pizza example wants > to show. My version don?t run and no meaningful (to me) error message is > produced. I don't know anything about how UDDI/OWL/WSDL/etc is used by the pizza demo, yp, or servicediscovery. As Aaron notes, you'd have to look at the documentation provided by the above modules. > > I would like to have a really simple example or step by step tutorial to > see what components are required and which not. The pizza example > includes features I don?t need, but I cannot follow all steps. But it > seems like there are no simple, single (not a whole usecase with many > features shown) examples for the basic features. I agree that the pizza example is not a simple example. For better or worse, it exercises all the UltraLog-developed code in one big, integrated example. I agree that a more narrowly-focused yellow pages example would be very useful, whether that example uses the current "yp + servicediscovery" code or instead uses more primitive UDDI/OWL libraries. > Because I have pressure > of time I can?t spend more time on the YP. I have to simulate an easy > own broker by a simple lookup agent. But if anybody has some code, where > I can get some hints to understand it better, please send it to me. I think writing your own lookup agent will be the easiest solution. You can send the directory "register" and "lookup" requests and responses via blackboard relays. Your "lookup" agent's plugin's "execute()" method can implement a simple directory map. If necessary, you can later replace this simple implementation with more powerful UDDI/OWL/etc code, as found on Google. The existing "yp + servicediscovery" code might be a good long-term option, but unless somebody can help you to get it working then I suggest you avoid it. Todd From guillaume.liegard at gmail.com Mon Aug 13 12:37:54 2007 From: guillaume.liegard at gmail.com (Guillaume Liegard) Date: Mon, 13 Aug 2007 18:37:54 +0200 Subject: Metrics on Windows XP In-Reply-To: <5652D7BF-AF70-4444-A7A6-3EAC9246E8F8@bbn.com> References: <1dd8f11e0707110843u5618152csfcb496c221ff86fe@mail.gmail.com> <1dd8f11e0707130606g687e5026p99826eff41483c1b@mail.gmail.com> <5652D7BF-AF70-4444-A7A6-3EAC9246E8F8@bbn.com> Message-ID: <1dd8f11e0708130937v61729565w654a03a6716cce5b@mail.gmail.com> Hi John, Thank you very much for sharing your source code with the community. About metrics, we have been working on getting counters from windows XP, but actually not the ones you need. I have just checked if it was easy to get the CPU load average, but as you mentionned, it is all based on %, not on an average number of idle or waiting processes. As we start to work on Vista, I will have a look at it and tell you if I see an easy way of getting some extra info. About the new code you shared, I've compiled the quo, qrs and qos module, then the util module, but I still have a runtime problem integrating it by hand with my 12.2 stable version. Is there any special configuration to make to solve this "Caused by: java.lang.VerifyError: Cannot inherit from final class at java.lang.ClassLoader.defineClass1(Native Method) "? Cheers, Guillaume Caught an exception at the highest try block. Exception is: org.cougaar.core.component.ComponentRuntimeException: failed while calling lo () for org.cougaar.core.node.Node at 1ef7de4 org.cougaar.core.component.ComponentRuntimeException: failed while calling load() for org.cougaar.core.node.Node at 1ef7de4 at org.cougaar.core.component.BindingUtility.call0( BindingUtility.java:243) at org.cougaar.core.component.BindingUtility.load( BindingUtility.java:223) at org.cougaar.core.component.BindingUtility.activate( BindingUtility.java:45) at org.cougaar.core.node.Node.launch(Node.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.cougaar.bootstrap.Bootstrapper.launchMain(Bootstrapper.java :444) at org.cougaar.bootstrap.Bootstrapper.launchApplication( Bootstrapper.java:378) at org.cougaar.bootstrap.Bootstrapper.launch(Bootstrapper.java:348) at org.cougaar.bootstrap.Bootstrapper.launch(Bootstrapper.java:333) at org.cougaar.bootstrap.Bootstrapper.main(Bootstrapper.java:321) Caused by: java.lang.VerifyError: Cannot inherit from final class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass( SecureClassLoader.java:124) at org.cougaar.bootstrap.XURLClassLoader.defineClass( XURLClassLoader.java:249) at org.cougaar.bootstrap.XURLClassLoader$1.run(XURLClassLoader.java :195) at java.security.AccessController.doPrivileged(Native Method) at org.cougaar.bootstrap.XURLClassLoader.findClass( XURLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at org.cougaar.core.wp.resolver.SelectManager$SelectManagerConfig .(SelectManager.java:826) at org.cougaar.core.wp.resolver.SelectManager.configure( SelectManager.java:160) at org.cougaar.core.wp.resolver.SelectManager.load( SelectManager.java:170) at org.cougaar.core.component.BinderSupport.load(BinderSupport.java :132) at org.cougaar.core.component.ContainerSupport.addComponent( ContainerSupport.java:689) at org.cougaar.core.component.ContainerSupport.add( ContainerSupport.java:497) at org.cougaar.core.component.ContainerSupport.loadSubComponentsByPriority( ContainerSupport.java:1029) at org.cougaar.core.component.ContainerSupport.loadHighPriorityComponents( ContainerSupport.java:983) at org.cougaar.core.component.ContainerSupport.load( ContainerSupport.java:881) at org.cougaar.core.component.BinderSupport.load(BinderSupport.java :132) at org.cougaar.core.component.ContainerSupport.addComponent( ContainerSupport.java:689) at org.cougaar.core.component.ContainerSupport.add( ContainerSupport.java:497) at org.cougaar.core.agent.Agent.add(Agent.java:49) at org.cougaar.core.agent.AgentImpl.load(AgentImpl.java:134) at org.cougaar.core.component.BinderSupport.load(BinderSupport.java :132) at org.cougaar.core.component.ContainerSupport.addComponent( ContainerSupport.java:689) at org.cougaar.core.component.ContainerSupport.add( ContainerSupport.java:497) at org.cougaar.core.agent.AgentManager.add(AgentManager.java:155) at org.cougaar.core.agent.AgentManager.load(AgentManager.java:115) at org.cougaar.core.component.BinderSupport.load(BinderSupport.java :132) at org.cougaar.core.component.ContainerSupport.addComponent( ContainerSupport.java:689) at org.cougaar.core.component.ContainerSupport.add( ContainerSupport.java:497) at org.cougaar.core.node.Node.load(Node.java:289) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.cougaar.core.component.BindingUtility.call0( BindingUtility.java:239) ... 12 more 2007/8/8, John Zinky : > > We have moved the QuO Resource Status Service (QuO RSS) source code > to cougaar qos/qrs module. > > For Cougaar HEAD, the QuO RSS is now in lib/qrs.jar instead of sys/ > resource-status-service.jar. > > The source code allows you to see how the Metric Service works > internally (without checking out Quality Objects (QuO) project > (quo.bbn.com)). > > When the metric service is loaded into a node, one of the DataFeeds > is a probe to gather performance statistics from the Node's host. The > probe use org.cougaar.qos.qrs.sysstat.SysStatHandler to choose which > probes to load, based on the OS and machine architecture. > 1) For example, one of the probes is a mini-benchmark that calculates > the Java Instructions Per Second (JIPS) of the host configuration. > JIPS is a normalized metric that is independent of the Ghz, OS, Java > VM, and memory cache of the host. Running the JIPS-benchmark is one > of the reasons Cougaar Nodes take a few seconds to start up. > 2) Other probes periodically poll (Default 15 seconds) to gather > other host performance parameters (as displayed in the /metrics/ > resources servlet) > > As part of the QuO RSS move, we revisited the lack of probes for > Windows. We do NOT want to use DLLs, so a probe has to get the raw > performance numbers from the JAVA VM, reading from the file system > (Linux /proc), or by execing a program that is always installed. > > We need HELP finding sources of performance data for Window XP, and > Windows Vista. > > LoadAverage: > The metric we really need for Windows is LoadAverage. > For Java 1.6 there is some hope for Java VM supplying Host LoadAverage > java.lang.management.OperatingSystemMXBean getSystemLoadAverage() > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6336608 > But Windows uses the "cpu utilization" metric and not load average, > so this method may not be implemented for windows. > > For Windows XP, we are execing the "typeperf" program. > http://technet2.microsoft.com/WindowsServer/en/Library/46938289- > edb5-468a-b03f-4e5985bf8fca1033.mspx?mfr=true > But we have to convert "cpu utilization" into an estimator of Load > Average. > typeperf "\Processor(_total)\% Processor Time" -sc 1 > The probe code is in org.cougaar.qos.qrs.sysstat.XPSockStat > > Total Memory: > typeperf does not seem to have a metric for total physical memory on > the host. > We see total memory being displayed in the "taskmgr". > Temporarily, we use the "mem" command. > > Typeperf: > We have found TCP Sockets and Host Free Memory > > HELP: > Outstanding issues, (we could use help from Windows experts) > 1) Is typeperf available on Vista and has the API changed? > 2) Is there a LoadAverage performance metric available in Windows. > 3) How do you get active number of UDP sockets from typeperf > 4) How do you get total memory from typeperf > 5) How to get the L2 cache for the Host > 6) Are Sysinternals useful: http://www.microsoft.com/technet/ > sysinternals/default.mspx > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://cougaar.org/pipermail/cougaar-developers/attachments/20070813/d4428c63/attachment-0001.html From anyouzoa_njimolu at yahoo.com Wed Aug 15 12:40:45 2007 From: anyouzoa_njimolu at yahoo.com (Alain Gaetan Anyouzoa Njimolu) Date: Wed, 15 Aug 2007 09:40:45 -0700 (PDT) Subject: Troubles running Pizza under cygwin and Cougaar 12.2 Message-ID: <312851.28056.qm@web43131.mail.sp1.yahoo.com> Hello, I have downloaded Cougaar 12.2 and tried to use it as it is explained in the installation guide. I followed what is said in http://tutorials.cougaar.org/pizza/. The pizza example runs under DOS and does not run under cygwin (linux). Here is what I get with my COUGAAR_INSTALL_PATH set to ?C:\Development\Cougaar? in my Windows XP box : Exception in thread "main" java.lang.Error: Failed to launch org.cougaar.core.node.Node at org.cougaar.bootstrap.Bootstrapper.launchMain(Bootstrapper.java:442) at org.cougaar.bootstrap.Bootstrapper.launchApplication(Bootstrapper.java:374) at org.cougaar.bootstrap.Bootstrapper.launch(Bootstrapper.java:344) at org.cougaar.bootstrap.Bootstrapper.launch(Bootstrapper.java:329) at org.cougaar.bootstrap.Bootstrapper.main(Bootstrapper.java:317) Caused by: java.lang.ClassNotFoundException: org.cougaar.core.node.Node at org.cougaar.bootstrap.XURLClassLoader$1.run(XURLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at org.cougaar.bootstrap.XURLClassLoader.findClass(XURLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.cougaar.bootstrap.Bootstrapper.launchMain(Bootstrapper.java:418) ... 4 more Somebody advised me to change my COUGAAR_INSTALL_PATH to a linux like format, and I exported my COUGAAR_INSTALL_PATH to be ?/cygdrive/c/Development/Cougaar?. Things seem to get worse. cougaar did not even start. Here is what I got: Exception in thread "main" java.lang.NoClassDefFoundError: org/cougaar/bootstrap/CommandLine I would like to make sure I can properly run this sample example because the system we are building is supposed to run under UNIX, LINUX and WINDOWS. I would like to get this straight before moving forwards. Any help is welcome. Regards, Alain. ____________________________________________________________________________________ Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=list&sid=396545433 From twright at bbn.com Wed Aug 15 14:20:47 2007 From: twright at bbn.com (Todd Wright) Date: Wed, 15 Aug 2007 14:20:47 -0400 Subject: Troubles running Pizza under cygwin and Cougaar 12.2 In-Reply-To: References: Message-ID: <46C343FF.50604@bbn.com> Yes, Cygwin can be awkward. Try setting the install path using DOS-style backslashes: export COUGAAR_INSTALL_PATH=c:\\Development\\Cougaar and use the DOS "cougaar.bat" script instead of the Bash "cougaar" script: cougaar.bat SDPizzaNode1.xml Todd Alain Anyouzoa wrote: > Hello, > > > > I have downloaded Cougaar 12.2 and tried to use it as it is explained in > the installation guide. I followed what is said in > http://tutorials.cougaar.org/pizza/. The pizza example runs under DOS > and does not run under cygwin (linux). Here is what I get with my > COUGAAR_INSTALL_PATH set to ?C:\Development\Cougaar? in my Windows XP box : > > > > > > Exception in thread "main" java.lang.Error: Failed to launch > org.cougaar.core.node.Node > > at > org.cougaar.bootstrap.Bootstrapper.launchMain(Bootstrapper.java:442) > > at > org.cougaar.bootstrap.Bootstrapper.launchApplication(Bootstrapper.java:374) > > at org.cougaar.bootstrap.Bootstrapper.launch(Bootstrapper.java:344) > > at org.cougaar.bootstrap.Bootstrapper.launch(Bootstrapper.java:329) > > at org.cougaar.bootstrap.Bootstrapper.main(Bootstrapper.java:317) > > Caused by: java.lang.ClassNotFoundException: org.cougaar.core.node.Node > > at > org.cougaar.bootstrap.XURLClassLoader$1.run(XURLClassLoader.java:200) > > > > at java.security.AccessController.doPrivileged(Native Method) > > at > org.cougaar.bootstrap.XURLClassLoader.findClass(XURLClassLoader.java:188) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > > at > org.cougaar.bootstrap.Bootstrapper.launchMain(Bootstrapper.java:418) > > ... 4 more > > > > Somebody advised me to change my COUGAAR_INSTALL_PATH to a linux like > format, and I exported my COUGAAR_INSTALL_PATH to be > ?/cygdrive/c/Development/Cougaar?. Things seem to get worse. cougaar did > not even start. Here is what I got: > > > > Exception in thread "main" java.lang.NoClassDefFoundError: > org/cougaar/bootstrap/CommandLine > > > > I would like to make sure I can properly run this sample example because > the system we are building is supposed to run under UNIX, LINUX and > WINDOWS. I would like to get this straight before moving forwards. > > > > Any help is welcome. > > > > Regards, > > > > Alain. > > > > ------------------------------------------------- > Dr. Alain Gaetan Njimoluh Anyouzoa > Principal Scientist > > Global InfoTek, Inc. > 1920 Association Drive > Reston, VA 20191-1545 > Office: (703) 652-1600 x112 > Cell: (443) 562-3737 > Fax: (703) 652-1697 > mailto: aanyouzoa at globalinfotek.com > http://www.globalinfotek.com > ------------------------------------------------- > > > From thorsten.schoeler at siemens.com Thu Aug 23 03:58:34 2007 From: thorsten.schoeler at siemens.com (Schoeler, Thorsten) Date: Thu, 23 Aug 2007 09:58:34 +0200 Subject: CCM: Simple example society file Message-ID: <66AC8CF7EF4AC54F802843C20CE0AD2601949079@MCHP7RDA.ww002.siemens.net> Hello, I am evaluating CCM for a small prototype project. I was able to patch Cougaar 12.0 with the files provided by the CCM pizza example and got CCM up and running. I struggle in applying the CCM society settings to my own society file. I tried to strip down the pizza example society file with no success so far. I also tried to copy/paste the society file settings from the CCM manual. No success also. Is there a really simple society example XML file where I just add my agents/plug-ins to and get CCM running with my society? Best regards, Thorsten Sch?ler -------------- next part -------------- An HTML attachment was scrubbed... URL: http://cougaar.org/pipermail/cougaar-developers/attachments/20070823/432ba27f/attachment.html