Automic VaultAutomic Vault

brew

Install jhiccup with Homebrew, Nix

Measure pauses and stalls of an app's Java runtime platform. Version 2.0.10 via Homebrew; verified 2026-07-04.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install jhiccup

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#jhiccup

nixpkgs package indexes · pkgs/by-name/jh/jhiccup/package.nix · source: api.github.com

overview

Package summary

Measure pauses and stalls of an app's Java runtime platform

Commands and aliases

  • jHiccup
  • jHiccupLogProcessor
  • jHiccupPlotter

history

Project history and usage

jHiccup is Gil Tene's Java latency-observation tool for measuring platform pauses, including JVM stalls and operating-system or hardware scheduling noise. It records the delays a Java application experiences when it is not continuously runnable.

Project history

The public repository was created in 2013 and the README identifies the author as Gil Tene of Azul Systems. The first tagged line visible in the repository is jHiccup 1.3.5 from November 2013, and the 2.0.x line reached 2.0.10 in 2018.

The tool reflects Azul's long-running focus on Java pause behavior. It can run as a Java agent, attach to an already running process, or wrap an existing Java command, making it practical for production-like measurements without rewriting the application under test.

Adoption history

jHiccup spread among JVM performance engineers because it measures latency symptoms from the application's point of view rather than only reporting garbage-collector events. Azul's product page and Prime documentation keep it available as an open-source component and describe its use in evaluating JVM runtime pauses.

Its package-manager footprint is narrower than general-purpose CLIs, but Homebrew and Nix packaging make sense: the audience is specialized, and the tool is most useful when an engineer can install it quickly on a machine under test.

How it is used

jHiccup starts a thread that sleeps at a small interval and records wake-up delays beyond the expected sleep time. It writes histogram logs that can be processed by jHiccupLogProcessor or viewed with HdrHistogram-based tools.

Common use cases include comparing JVM pause behavior, separating application-visible stalls from operating-system noise, attaching a control process for baseline idle hiccups, and producing charts for latency investigations.

Why package nerds care

For package nerds, jHiccup is a good example of a tiny diagnostic package with a highly specific audience. It packages an expert performance concept into command-line tools, a Java agent, and log-processing utilities rather than a full monitoring platform.

It is also historically tied to HdrHistogram and the Java low-latency community, where percentile distributions and pause visibility matter more than average throughput.

Timeline

  • 2013: The public jHiccup repository was created and jHiccup 1.3.5 was tagged.
  • 2018: jHiccup 2.0.10 was tagged.
  • 2021: The README was updated with a Works with OpenJDK badge, reflecting continued compatibility signaling.

Related projects

  • HdrHistogram is the histogram format and library used by jHiccup logs.
  • HistogramLogAnalyzer and HdrHistogramVisualizer are named by the README as tools for analyzing or plotting histogram logs.
  • Azul Prime documentation uses jHiccup as part of JVM pause evaluation workflows.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:runtime

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
jHiccupcliglobal executable
jHiccupLogProcessorcliglobal executable
jHiccupPlottercliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.0.10
manager updated2026-07-04
local dataok
upstreamnot checked
latest detectednot detected

https://www.azul.com/products/components/jhiccup/

install metadata

Package metadata

Package keybrew:jhiccup
Version2.0.10
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/jhiccup
Homepagehttps://www.azul.com/products/components/jhiccup/
Repositoryhttps://github.com/giltene/jHiccup
Upstream docshttps://docs.azul.com/prime/jHiccup
LicenseCC0-1.0 OR BSD-2-Clause
Source archivehttps://www.azul.com/wp-content/uploads/jHiccup-2.0.10-dist.zip
Last updated2026-07-04T13:13:40+09:00
Pulseupdated
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namejhiccup
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

jhiccup

nix profile install nixpkgs#jhiccup
  • normalized package name match
  • Matched by: Jhiccup
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/jh/jhiccup/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment