Hi Nicolas, +) that sounds cool ...
+) I have some code generating proper monitor names based on method invocations (see http://people.apache.org/~sgoeschl/presentations/jamon-20070717.pdf - "Example - Performance Monitor") - you might need this stuff ... :-)
Cheers, Siegfried Goeschl nicolas de loof wrote:
please consider the following scenario +) adding commons-monitoring integration by using AOP/interceptor/events/whatever - so the application is not aware of being monitored - cool +) in the same non-intrusive manner I would like to gather the data using a browser - just adding two entries in the web.xml and nothing else I have the same goal ! -> web.xml to setup web monitoring + reporting servlet -> spring-aop or aspectJ to have code instrumentedTo further clarify my point +) due to security considerations it could be an issue to add commons-monitoring to a secure application although it might materialize as transitive dependency (thx to maven) - no need to tell operations +) exposing servlets is a problem already - you enable them in the integration environment and they will find their way to production somehow (Murphy is one of my best friends) +) asking project management/operations to approve a few cool javascript libraries (flot, jquery) ranges from difficult to impossible .... how can I ensure that those libraries are safe regarding security, cross-site scripting, ... +) even more funny - I would like to have access using lynx or w3m (aka desperate developer looking at a HTML page over three SSH connections on the terminal) ... :-O to secure the servlet, you can enable j2ee security !the servlet can produce a nice JS-enhanced web UI, but the generated HTML is just HTML table - you can even get infos as txt if you need scripts, css and images are all included in the JAR. There is no required maven dependency Nothing more to install on your application than the commons-monitoring jarIn short - I'm focused on a simple and secure deployment - just a jar containing the stuff, a servlet plus resources found in the classpath and nothing else for the core distribution. I'm perfectly fine having a more functional frontend but not all user can carry the burden associated with it. Cheers Siegfried Goeschl PS: A tiny bit of community building - I added a colleague of mine as recipient - try to convince her to help with commons-monitoring .... ;-) nicolas de loof wrote: The current code has a servlet to expose the monitored datas, based on request parameters : /monitoring/monitors --> all monitors in the repository, with all counters/gauges and all stats, using an output format detected based on request "Accept" HTTP header /monitoring/monitors?format=html --> same but force output to html. Support html, xml, txt, js, and flot (see later) /monitoring/monitorsFromCategory/web --> same, but only monitors from the category "web" /monitoring/monitorsFromSubsystem/web --> same, but only monitors from the category "web" adding some other parameter allow to tweak the output : ?role=performances --> only the "performances" counter will be included ?role=performances&role=failures --> only the "performances" and "failures" counters will be included ?performances.unit=ms --> "performances" counter stats will be formatted with ms as unit (default is ns) ?performances.columns=mean,max,standardDeviation --> Only render the requested statistics Using all those parameters, you can build custom URLs to get the expected report. There is also another servlet, the WebUIServlet, that defaults output to HTML and extend the generated HTML with nicer CSS and inclusion of jquery javascript library to enable table sorting. The "flot" format is also used with jQuery to enable graphing (based on the flot JS library). A RepositoryDecorator is used to enable history on the repository, on a period + history-size basis. This enable a new URL on MonitoringServlet : /monitoring/history/monitor/category/subsystem/name This will return a table of the monitor (with all it's counters & stats) for every historized period. Using ?format=flot will return a JavaScript objet to be used by the flot library to render a graph. Same roles/units/columns filterring can be used to customize the output !! Please note the flot ouput is early experimental and not yet stable !! Il plan to split the project into modules : - core for monitoring infrastructure - webui-lite for the jquery based web UI - webui-X for a more advanced web ui, maybe based on GWT or anything else to have a cool monitoring UI. Take a look in the SVN source at the src/main/webapp WAR configuration, this is used for testing /demonstrating purpose. Thanks for feedback, Nicolas, 2008/4/18, Siegfried Goeschl <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>: Hi folks, what are the current plans to add a web frontend to Commons Monitoring? Based on my JAMON experience +) the web frontend required additional libraries +) the jamon library and JSP/web resources were always out of sync and broke the web application Would it be possible/feasible to implement the visualization using a plain-vanilla servlet and have more elegant implementation using JSP/Taglibs as an optional part? Using a servlet I can enable the web frontend by just updating the web.xml ... Cheers, Siegfried Goeschl---------------------------------------------------------------------To unsubscribe, e-mail: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> For additional commands, e-mail: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
