vendredi août 14, 2009

OSGi dans visualvm

Le concours de blog VisualVM m'a fait découvrir le plugin OSGi écrit à par Kiev (doctorant à Grenoble). Ca me plait bien.
Du coup, billets en anglais et en français.

vendredi juil. 18, 2008

Stuff that happened while I was away...

I'm back from almost 2 weeks off. While I was away on vacation, many others were busy:
• NetBeans 6.1 released Patch 2 and NetBeans 6.5 Milestone 1 (PHP included) also shipped (do people in Prague ever take a break?)
VisualVM 1.0 ships and is part of the Java 6 Update 7 release ! (some background here). Notice it's a NetBeans RCP app and that it features the NetBeans profiler.
Python in NB !
• Former Sun and startup colleague Vincent launched I like the name, now I need to check out if I like this "end2end" framework.
EclipseLink 1.0 ships (and is now in GFv3 nightly builds)
OpenDS 1.0 shipped!. Congratulations Grenoble!
• First SPECjvm2008 Result Published!
MEP (Mobile Enterprise Platform) 1.0 released (GlassFish + Mobile Sync technology + JavaCAPS connectors). SyncML is now called OMA DS btw.

Now that's a lot of stuff including many releases but so little time...

mercredi juin 04, 2008

VisualVM, BTrace, and GlassFish

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

VisualVM is pretty much a better jconsole (which itself was already a huge step forward).

It's come a long way since I first mentioned it and 1.0 is now around the corner. The tool brings the telemetry & monitoring features of jconsole together with the dynamic profiling from NetBeans. You can look at a quick demo in James Gosling's general session from JavaOne 2008, it's the first one.

VisualVM supports .hprof heap dumps, full snapshots but you need to remember that various features depend on the Java versions used in the client and the server (check out the Feature Matrix on the project homepage). For instance, while the tool requires Java 6, it can monitor 1.4.2 JVMs (including non-Sun JVMs). On the other hand, profiler and Heap/Thread dumps do require Java 6 for the monitored application.

As always, what makes an open source product really interesting is its plugin architecture and the catalog of additional features it brings. Here's a list of existing plugins: VisualGC (which never had an equivalent in jconsole), MBeans, JMX, Thread Dump Analyzer (TDA), BTrace, and GlassFish.

GlassFish plugin for VisualVM:
This extension enhances monitoring of GlassFish-hosted applications by adding specialized overview, a tab for monitoring HTTP Service and the ability to visually select and monitor any of the deployed web applications.

So far VisualVM profiling performance is good. In the case of GlassFish, only a subset of the large amount of class files loaded in memory are actually instrumented by default.

Btrace is essentially a portable DTrace - a safe (read, not write), low-overhead, probe-based dynamic tracing tool. Check out JavaOne slides. Btrace offers annotations (@OnMethod, @OnTimer, @OnEvent, @OnExit, @OnError, @OnLowMemory) to define what could be considered as troubleshooting interceptors ("probe points").

The BTrace samples are a good place to get an idea of how flexible and powerful this can be (bottom of the page).
A VisualVM plugin for BTrace is in the works.

vendredi nov. 16, 2007

VisualVM - NetBeans Platform powered

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

It's been almost three years that I first mentioned the NetBeans platform. The technology has since grown to be a first-class citizen in the NetBeans and Java worlds (with tooling support and books). The main difference with Eclipse RCP remains - NetBeans Platform is 100% Java/Swing.

VisualVM is a recent (and early) development based on the NetBeans Platform. It strikes an interesting balance between monitoring (a la JConsole), profiling (a la NetBeans Profiler, including a heap walker), and troubleshooting (new in Java 6). The platform is worth about half the application size, startup time is less than 5 seconds, and the application has a very professional look. The update center inherited from the platform isn't functional just yet, but I can certainly see the value of this for future versions and plugins to extend the feature set.

If you're in a Java 6 world, everything is really easy except maybe for profiling server-side applications which requires a fairly long time for the dynamic instrumentation to happen. Just like for JDK tools, VisualVM can also work on a remote process or a core file. More on VisualVM here.


This blog has moved

Alexis Moussine-Pouchkine's Weblog

GlassFish - Stay Connected


« avril 2014

No bookmarks in folder


No bookmarks in folder