What is beSee

beSee is a runtime instrumentation solution which allow IT teams to seamlessly monitor specific points in deployed J2EE applications. beSee is based on the BEA ClassPreProcessor technology, which consists in a hook inside the WebLogic Server class loading mechanism. This allows for live class modification during loading.

The ClassPreProcessor technology is part of WebLogic Server v5, 6 and 7, which makes beSee compatbile and targetted to those versions. beSee uses an API for instrumentating the Java classes loaded in the app server, adding in specific points small execution instructions which makes live monitoring possible.

Once an application is instrumented, you can leave it running just as usual in your server. beSee has a such small fooprints that it is possible to install beSee in your production environnment. For such a requirement beSee provides since it first release the hot configuration feature , a way to re-configure how you decide to instrument your applications without needing a server restart. It will need only a simple application redeployment.

beSee provides some standard way to instrument your application to monitor all the behavior from frontend (jsp, servlet, remote ejb invocation) to backend (jdbc call, JCA calls) .

The memory fooprint of beSee is very small, and the CPU overload in instrumented class depends of your needs, but is often limited to some kind of log.write(...) like-call, log being an in-memory buffer !. Once your application is correctly instrumented, you have all the tools to monitor it using well established technology that beSee brought to your application :

  • Logging facility (file, asynchrone thru JMS, memory buffered and flushed sometime to file, database)
  • JMX monitoring
  • UML live sequence diagram of your application
  • UML offline sequence diagram of your application
(Some of those features are not yet available)

Other J2EE app server support

Currently beSee is compatbile with WebLogic Server v5, 6, 7 and there is no plan yet to make beSee compatible with other app server. Each app server has a very specific class loading mechanism implementation and beSee is based on the BEA mechanism.

Nevertheless, for Open Source J2EE app server like JBoss , it might be realistic to provide a small patch to plug beSee in. There is no plan yet for such support.

J2SE support

beSee can be used for J2SE application in a very easy way. beSee unit testing is made this way. Though it is not what is beSee primarily for, it brings you the same features.