Glassbox and JXInsight

I have heard about JXInsight a couple of months ago, and since then I was eagerly waiting for the moment I’ll get to it. Last night, with a bit of energy left after a long day, I have remembered about it and I thought: “maybe this is the right moment”. I have quickly passed through the homepage (which definitely looks interesting in terms of features) looking for a download. I have found the 5.5-RC1 and got it installed on my machine. When all this was done, I have started to look around to what’s next. And unfortunately I couldn’t find any good documentation about what am I supposed to do. The site doc links to a blog, where, even if there are various entries, none is close to being a decent user guide/step-by-step/up to speed intro. I have double checked the installation, and there was no documentation their either. Maybe I should use the examples… I have to confess that unfortunately, I had to give up as my energy was finished before figuring out what’s next. In conclusion, I’ve been quite disappointed that after a very cool homepage intro there was nothing to get me started (even if I have spent a couple of hours). Or maybe I was just missing the obvious?

Speaking about JXInsight features, I have remembered about Glassbox: an open source project created by my friend Ron Bodkin. In fact at some moment in time, I have spent quite a few weeks understanding the internals of the app and figuring out and suggesting some improvements. Now, Glassbox is in 2.0 RC1, and I hope the guys have addressed all the problems, because the product looks really interesting. And you know what? It comes with a decent User guide! Not to mention that it is open source, so at any moment, you can just stick your nose into code and figure out how is working.

I am wondering if others have any experience with these tools and if they are up to recommending something.

Update I have started to gather JXInsight documentation.

Posted by: Alex Popescu (aka the_mindstorm)



Filed under Tools

16 responses to “Glassbox and JXInsight

  1. Ron Bodkin

    Hi Alex,

    Thanks for your comments about Glassbox. We’d love your feedback on the RC and to know how it’s working for you.


  2. The documentation set for JXInsight 4.x which is still largely relevant is available online here:

    There are more than a 100 posts on the blog which are actually used to demonstrate all the features and provide installation instructions for most major application servers.

    There are articles online describing case studies.

    There are also videos showing the console in action as well as how to set the product up within 5 minutes to monitor a BEA Weblogic server.

    The feature set and number of extensions that ship with JXInsight is huge compared to any other commercial or open source offering on the market.

    There is investment but it is time worth spent assuming this is not a once off tuning effort.

    You could have always contacted “support at jinspired to com” or “william dot louth at jinspired to com”.

    Kind regards,

    William Louth
    JXInsight Product Architect

  3. themindstorms

    Hi William!

    Firstly, I would like to thank you for getting back to me.

    Now a couple of comments:

    1/ I have tried the main doc link. But then please try out (as that page is recommending) the links on the sidebar: you’ll notice that many of them are just empty (f.e. all of the following first links are empty: Trace, Probes, Diagnostics, Insight, Metrics, Transact). And as shown in the above, I am definitely not referring to the starred ones. So, even if there are many posts, figuring out which are present and which are not, then figuring the order in which I should read them… well, it takes too much time.

    2/ I think it would be a really easy job for you to take all your blog entries and put them in a downloadable PDF. I guess you are interested, as your users are, to give people immediate access to these so that they get up to speed right away.

    3/ I am trusting you on this: “The feature set and number of extensions that ship with JXInsight is huge compared to any other commercial or open source offering on the market.”. Unfortunately, I haven’t been able to use any of these after installation.

    4/ “There is investment but it is time worth spent assuming this is not a once off tuning effort.”

    Well, this is probably true, but as long as I cannot see this value immediately (or pretty quickly) I will probably not be able to invest that time and I will just have to give up and look somewhere else.

    5/ Thanks for offering your support. I usually tend to try things by my own before just jumping to ask questions. And I don’t think a support email with the text: “I have installed and now what?” would be polite :-).

    I do think there may be a lot of value behind JXInsight. And I would definitely love to have the opportunity to discover it. My friendly advise, if you allow me, would be to make things a bit easier for your possible users (and I am sure you’ll do so).
    I would be happy to see things changing, and I am opened to add more details about JXInsight once I will be able to try it out (for real 🙂 ).



    .w( the_mindstorm )p.

  4. By the way do you think you can really be that impartial in your assessment of the product considering you are friends with the creator of an open source monitoring solution.

    Chris, I really find it hard to see how you can on one hand say that it took too much time (1 hour) to understand the install but then promote the access to the sources of another product in understanding how it works. We have more than 3,000 classes in the product (we are talking about enterprise performance management). I fail to see how anyone could understand our product within hours just with access.

    I assume people purchase a enterprise performance management product not because it takes a short time to deploy a web app to tell you how to complete the install but because it design and implementation has (1) extremely low overhead, (2) built-in extensibility, (3) rock solid reliability, (4) vast data collection capabilities, (5) accurate measurements, (6) comprehensive performance model, (7) inherent distributed tracing capabilities, (8) aggregated cluster model analysis, (9) applicable under many different contexts and application life cycle phases (10) and it is designed by a performance expert,….

    We are just about to publish the GA release of our FREE development edition. This release has undergone further performance optimizations in the probes runtime. We have also added an extensible and configurable metering strategy.

    When GB releases their GA release we will publish a comparison and benchmark analysis of the product.

    Here is the install guides category link. What application server would you like me to add.


  5. Ignore the “Chris” reference. My eyes picked up on the themes creator during my commenting.

    Assuming you are using Java 5 then the following Glassfish installation must be pretty straight forward.

    Once you have done the basics then really you decide what type of monitoring you would like and for which particular technology.

    Lets say you want to monitor JCR calls and are not interested in call stack analysis just metering. Then simply add jxinsight-ext-aj-jcr-probes.jar to the library path.

    If you are interested in the call stack for each call and accept additional overhead then add jxinsight-ext-aj-jcr-traces.jar to the servers library path.

    By the way our product ships with comprehensive release notes explaining each feature added.

    And if you really doubt my previous statement regarding our “huge” feature set then please visit our products home page and check out all the features across all release. Trust me I did not paint these pretty pictures myself.


  6. themindstorms

    Hi William!

    Firstly, my name is Alex and not Chris ;-).

    Now back to your comments:

    1 “[…] do you think you can really be that impartial in your assessment […]”

    I do consider I was quite impartial. The points I’ve made were pretty simple:

    – installing Glassbox and seeing some results is matter of at most 1 hour. On JXInsight, after installation I had no idea what to do next.

    – Glassbox comes with a PDF describing these easy setup steps, troubleshooting, etc. JXInsight documentation is on blog entries, some of them being empty.

    I haven’t performed any feature comparison, because I don’t know what JXInsight has to offer and it would have been unfair to say anything (and if you notice I am already saying that the features listed on the homepage look really impressive).

    Which of these points do look to you as not being objective?

    2/ re: “promote access to source…”

    Maybe I should have been clearer: you don’t need to access Glassbox sourcecode to get it working. Only in case you want to get fancy and you don’t want to ask questions on the forum, you can get down to source code. IDEs will help you get the idea immediately.
    On the other side, I couldn’t find the right documents to be at least able to start JXInsight. If these are available I would be happy to read through them. And only after that, I will be able to comment how easy is to get things out of JXInsight.

    3/ re: “I assume people purchase a enterprise performance management product not […]”

    I agree with all your points in that paragraph. But you may be missing an important aspect: before paying something you need to understand its value. What if I am just planning to use a developer license? Would you just ignore me?

    Last, I would like to make one thing clear: I haven’t posted here to bash JXInsight. The only goal was to make people behind JXInsight aware that they may consider making things a bit more clear for the potential users. And I have used an example on how I would expect things to be (in fact I would have a bit higher expectations from a commercial product).



    .w( the_mindstorm )p.

    PS: I would like to play with JXInsight in a Tomcat 5.5.x env. I assume I can use the same steps as per Tomcat 6. What’s next? Where can I find definitions of what Probes, Trace, Call Diagnostics are? (probably all these are very clear for you as the creator of the product and performance expert, but I couldn’t find the corresponding explanations — all links for these are empty)

  7. themindstorms

    > Ignore the “Chris” reference. My eyes picked up on the themes creator during my commenting.

    Apologies accepted :-).

    > And if you really doubt my previous statement regarding our “huge” feature set then please visit our products home page and check out all the features across all release. Trust me I did not paint these pretty pictures myself.

    William, I’ve never said your posts are just marketing, or that you made out that list of features. I was rather implying that I was sad not to be able to try your product considering the amount of listed features. But, to be able to talk about them I have to be able to play with them (at least as long as I am not a marketing person in your co 😉 ).


    .w( the_mindstorm )p.

  8. Alex,

    I am sorry but I made a trade-of between documenting everything aspect of the product or providing a JXInsight for dummies guide (this is not an insult) with the speed of development of new and I honestly believe new & innovative approaches to performance management and problem diagnostics.

    When I have contributed to the documentation set ( >100 blog entries) I have had a tendency to focus on more advanced concepts and assumed the readership understood the art of performance engineering as well as the JXInsight architecture, model and visualizations. Maybe I am designing, developing, testing, documenting, for one user – myself. I do hope this is not the case (because that would indicate a poor state of affairs in the industry) but I do recognize that experts can make poor documentation writers possibly focusing on the wrong areas.

    I truly believe (and customers as well as competitors have confirmed this) that JXInsight is the most advanced and extensible Java performance management, transaction analysis, and problem diagnostics solution on the market. It is also probably the most beautiful looking Java application to run on a desktop (without the fluff and sugar candy).

    Investing time in learning the concepts underlying the tool will be repaid every time you have a problem.


  9. the_mindstorm

    William how difficult is to generate the suggested PDF from your blog entries? I am pretty sure that in case you filter out the empty entries, and probably add the intro from old documentation (or something to make up for an intro) you will get a decent piece of “dummy” intro.

    And one more thing: if I would be a performance expert, most probably I would most probably have my own tools (and not look at yours). And I guess this applies for many other potential users. It is up to you to move from a tool for experts only to a tool for people.


    .w( the_mindstorm )p.

  10. Hi Alex,

    Actually being a good performance expert is all about using the right tools to quickly capture the software and system execution model and then spending a large amount of time understanding, relating, reasoning, benchmarking, simulating, monitoring.

    We have some high profile performance experts (not confined to the Java world) who have used and recommend JXInsight during their own performance investigations and white papers productions. A performance expert looks for a tool that allows them to control the level and extent of the data collection. When I started their was no tool so I built it. Now most experts come to us and that is why we are always credited with have a solution that solves the hard real world performance problems.

    I spend 10-20% of my time collecting snapshots and then the rest analyzing them. Without JXInsight you could easily spend 80% of the time collecting and verifying the accuracy of the data collected.

    At the end of the day no tool can make a developer become a performance engineer (lets leave aside the expert qualification for now). A developer must invest time in understanding the concepts and processes behind SPE and the tooling supporting it – JXInsight.

    Any tool stating otherwise is misleading if not over simplifying the problem to such extent the tool is literally handicapped for any sort of real world usage outside a scripted PetStore web application.


  11. Pingback: JXInsight documentation « mindstorms

  12. Phil

    @William: I sure hope I’m misunderstanding your tone, but as amazing as your product might be (but we’ll never know, don’t we – lacking the intellectual capacity to even understand the basic concepts of your brilliant solution – oh, and some docs, of course, ..), you are coming over as _extremely_ arrogant.

  13. the_mindstorm

    Hi Phil!

    Thanks for supporting my points. In fact I’ve been further discussing with William and we are actually advancing towards having more detailed documentation. I will track this through my blog, so stay tuned.


    .w( the_mindstorm )p.

  14. Phil,

    You misunderstood my tone.

    I am far from arrogant. I am just very passionate about product design and creating solutions that tackle hard real world problems that developers face outside of scripted scenarios.

    I actually think I am very forthcoming in presenting factual and relevant information. I am not one for keeping tuning secrets to paid engagements or over stating the capabilities of a product.

    I value my name and I believe I have been more than open in this thread as well as in my offline discussions with Alex.

    At times my emotion might sip through but if you can look past this and see my arguments in their raw form you will benefit greatly.


  15. Phil

    I do not doubt your skill nor your product, William. Your insight in for example the Guice vs Spring singleton performance was impressive, and one of the reasons why I wanted to take a look at your product.

    However, as clear as the docs might be for those already familiar with either performance tuning or your product, they might be lacking for others. The ‘correct’ way to tackle this blog entry would have been to ask where he thought the docs were lacking, and appreciating his feedback, no matter how wrong/offtopic/inexperienced his approach was.

    Blaming his inability to get started on the overall state of the current programming level in the industry, no matter how justified, only makes you appear arrogant. As does making the comparison to ‘child’s play’ when talking about other products.

    Disclaimer: I have no affiliation with Glassbox, I simply know Alex from a couple of years ago, and have the greatest respect for him and his work.

  16. Pingback: JXInsight: how to document a rich UI app? « mindstorms

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s