Skip to main content

Dynamic Bytecode Instrumentation

Posted by gsporar on January 8, 2006 at 7:31 PM PST

Dynamic Bytecode Instrumentation (DBI). What is it? DBI is one of the technologies that enables a new generation of Java application profiling tools.

Why should anyone care? The truth of the matter is that you do not need to master the nitty-gritty details of DBI to benefit from it. The most important thing to understand about DBI is the first word: dynamic. Java profilers can use DBI to turn profiling of your application on and off without restarting the JVM. You can even remove profiling completely; then you can add it back later if you so desire. This is a handy feature to have, particularly when profiling a really large application.

If you want to learn more, the February issue of Dr. Dobb's Journal has an article on the topic written by me and Ian Formanek.


I am listed as a co-author but Ian deserves most of the credit; the article is essentially a written version of the presentation that he and I did last year at JavaOne in both San Francisco and Tokyo. CMP Media, the publisher of Dr. Dobb's Journal, has the full text of the article out on their site.

If you would rather skip right to a Java profiling tool that uses DBI, you can try out the NetBeans Profiler; a tutorial for it is available here.