DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Capture Stalls in Your Java Application With jHiccup

Capture Stalls in Your Java Application With jHiccup

James Sugrue user avatar by
James Sugrue
CORE ·
Dec. 13, 11 · Java Zone · Interview
Like (0)
Save
Tweet
8.63K Views

Join the DZone community and get the full member experience.

Join For Free

Measuring the performance of your Java application can be somewhat of a black art, but jHiccup looks to take the mystery out of your performance issues.
Just released under the Creative Commons Licence by Azul Systems, jHiccup will measure any hiccups (pauses or stalls). The beauty of this is that you can identify whether the cause of a stall is in your application code or the underlying runtime platform. As far as I know, no other Java performance tool does this.

The tool does not measure delays caused by the application's code, but instead captures the stalls caused exclusively by the underlying runtime platform that would be visible to and affect any application thread running at the time of the stall.

jHiccup runs with a clain of zero performance overhead in the running of your application. Getting it setup is easy. Just download the tool and start up your program with the appropriate jHiccup parameter.
For example if you start your program like:

    java MyApp 

you'll now use

    jHiccup java MyApp 


Pretty simple! Two log files are created, which can be loaded into Excel. You can get a Hiccup by Time Interval Chart, or a Hiccup by Percentile Distribution chart:
    


This produces some interesting data for you to analyze. Tips on how to interpret the data are provided at the Azul website

jHiccup data and Hiccup Charts can quickly identify whether application responsiveness issue are dominated by application code or by the undelying runtime platform's behavior:

  • If application response time behavior is similar to that observed by jHiccup, observed as a correlation of dopminant stall events in time and of response time %'ile distributioon and magnitude, the runtime platform's behavior and occasional stalls are likely the dominant factor in application responsiveness. Improvement the runtime stall behavior through tuning or eliminating runtime stall causes will most likely improve the application respnse time characteristics.

  • If application response time beahvior does not correlate with jHiccup data and Hiccup Charts, the application code and/or externalresources are most likely the dominant factor, and runtime tuning and improvements in teh area of stalls and responsiveness are unliukely to result in improved application repsonse behavior.

application Java (programming language)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How To Integrate Third-Party Login Systems in Your Web App Using OAuth 2.0
  • How to Test JavaScript Code in a Browser
  • Testing Under the Hood Or Behind the Wheel
  • 10 Steps to Become an Outstanding Java Developer

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo