Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by ClickHouse and OpenTelemetry.
Find a file
Warren Lee 2f1eb80109
Some checks are pending
Knip - Unused Code Analysis / knip (push) Waiting to run
Main / lint (push) Waiting to run
Main / unit (push) Waiting to run
Main / integration (push) Waiting to run
Main / otel-unit-test (push) Waiting to run
Main / otel-smoke-test (push) Waiting to run
Main / e2e-tests (push) Waiting to run
Main / End-to-End Tests (push) Blocked by required conditions
Main / ClickHouse Bundle Build (push) Waiting to run
Push Downstream / push-downstream (push) Waiting to run
Release / Build OTel Collector (amd64) (push) Blocked by required conditions
Release / Check Changesets (push) Waiting to run
Release / Check if version exists (push) Blocked by required conditions
Release / Publish OTel Collector Manifest (push) Blocked by required conditions
Release / Build OTel Collector (arm64) (push) Blocked by required conditions
Release / Build App (amd64) (push) Blocked by required conditions
Release / Build App (arm64) (push) Blocked by required conditions
Release / Publish App Manifest (push) Blocked by required conditions
Release / Build Local (amd64) (push) Blocked by required conditions
Release / Build Local (arm64) (push) Blocked by required conditions
Release / Publish Local Manifest (push) Blocked by required conditions
Release / Build All-in-One (amd64) (push) Blocked by required conditions
Release / Build All-in-One (arm64) (push) Blocked by required conditions
Release / Publish All-in-One Manifest (push) Blocked by required conditions
Release / Release CLI Binaries (push) Blocked by required conditions
Release / Notify Helm-Charts Downstream (push) Blocked by required conditions
Release / Notify CH Downstream (push) Blocked by required conditions
Release / notify_clickhouse_clickstack (push) Blocked by required conditions
Release / OpenTelemetry Export Trace (push) Blocked by required conditions
fix(release): build common-utils before changesets publish (HDX-4075) (#2138)
## Summary

Fixes the release workflow bug where the `cli-v*` git tag and GitHub Release are created successfully, but `@hyperdx/cli` never reaches npm.

### Root cause

The `check_changesets` job in `.github/workflows/release.yml` runs only `yarn install` before calling `changesets/action@v1` with `publish: yarn release`. When changesets attempts to publish `@hyperdx/cli`, the package's `prepublishOnly` hook runs `yarn build` (tsup). tsup bundles all `@hyperdx/common-utils/dist/*` imports, but because `common-utils` was never built in this job, esbuild fails with 14 "Could not resolve" errors and aborts the CLI publish. The release logs for `cli-v0.3.0` confirm this:

```
🦋  info Publishing "@hyperdx/cli" at "0.3.0"
🦋  error an error occurred while publishing @hyperdx/cli: 1 command failed
🦋  error sh -c yarn build
🦋  error ✘ [ERROR] Could not resolve "@hyperdx/common-utils/dist/clickhouse"
   (... 14 similar errors ...)
🦋  error packages failed to publish:
🦋  @hyperdx/cli@0.3.0
```

The rest of the release jobs (GitHub Release, Docker images, downstream notifications) proceeded because the changesets step has `continue-on-error: true`.

### Fix

Add a `Build common-utils` step (`make ci-build`, which runs `@hyperdx/common-utils:ci:build` via Nx) between `yarn install` and the changesets action. This populates `packages/common-utils/dist/`, so `@hyperdx/cli`'s `prepublishOnly` build can resolve its dist paths.

### Follow-up

`@hyperdx/cli@0.3.0` was never published to npm (`npm view @hyperdx/cli versions` shows only up to `0.2.0`). Because changesets calls `npm info` on each run and retries publishing any local version that isn't yet on npm, the next push to `main` with this fix will publish `0.3.0` automatically — no version bump needed.

### How to test locally

```bash
# From a clean workspace (no common-utils/dist yet)
rm -rf packages/common-utils/dist
cd packages/cli && yarn build
# => fails with "Could not resolve '@hyperdx/common-utils/dist/*'" (reproduces bug)

# With the fix applied:
cd ../..
make ci-build         # builds common-utils
cd packages/cli
yarn build            # succeeds, produces dist/cli.js
```

### References

- Failing release run: https://github.com/hyperdxio/hyperdx/actions/runs/24652970126
- Published release (CLI binaries only, npm skipped): https://github.com/hyperdxio/hyperdx/releases/tag/cli-v0.3.0



<div><a href="https://cursor.com/agents/bc-43427d62-7a6b-4d6a-b42e-74db8dc0d2b9"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/background-agent?bcId=bc-43427d62-7a6b-4d6a-b42e-74db8dc0d2b9"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>



Co-authored-by: Cursor Agent <199161495+cursoragent@users.noreply.github.com>
2026-04-20 17:40:55 +00:00
.changeset Release HyperDX (#2097) 2026-04-20 00:00:40 -07:00
.claude fix: Add error message and edit button when tile source is missing (#2063) 2026-04-07 16:48:09 +00:00
.config Fix dev env port resolution and improve multi-worktree support (#2025) 2026-04-01 20:53:09 +00:00
.cursor chore: add playwright agents for cursor and claude (#1847) 2026-03-05 15:16:18 +00:00
.github fix(release): build common-utils before changesets publish (HDX-4075) (#2138) 2026-04-20 17:40:55 +00:00
.husky chore: Add automatic api doc generation (#1397) 2025-11-21 21:14:02 +00:00
.opencode/commands small tweaks to opencode do-linear command (#1974) 2026-03-24 14:05:34 +00:00
.vex build(deps): add security resolutions for vulnerable npm packages (#1740) 2026-02-26 02:14:24 +00:00
.vscode add back linting prettier via eslint (#1463) 2025-12-11 12:00:31 -07:00
.yarn/releases chore: set yarn npmMinimalAgeGate (#2022) 2026-03-31 18:37:07 +00:00
agent_docs feat: add reusable EmptyState component and adopt across pages (#2017) 2026-04-06 21:26:59 +01:00
docker [HDX-4029] Add commonly-used core and contrib components to OTel Collector builder-config (#2121) 2026-04-15 15:57:44 +00:00
docs/assets Move section collapse state to URL query params (#1958) 2026-03-24 13:58:30 +00:00
packages fix: Hide potentially-sensitive alert errors (#2136) 2026-04-20 15:23:19 +00:00
proxy feat: add subpath config (#1236) 2025-10-17 14:43:58 -07:00
scripts feat: add light mode to dev portal (#2072) 2026-04-08 20:17:33 +00:00
smoke-tests/otel-collector [HDX-3994] Deprecate clickhouse.json feature gate in favor of per-exporter json config (#2119) 2026-04-15 15:49:45 +00:00
.env Release HyperDX (#2097) 2026-04-20 00:00:40 -07:00
.gitattributes first commit 2023-09-12 20:08:05 -07:00
.gitignore feat: isolate dev environment for multi-agent worktree support (#1994) 2026-03-31 18:24:24 +00:00
.kodiak.toml feat: support HYPERDX_LOG_LEVEL env var (#66) 2023-10-18 19:01:44 +00:00
.mcp.json chore: add playwright agents for cursor and claude (#1847) 2026-03-05 15:16:18 +00:00
.nvmrc chore: Update to next 16, react 19, add react compiler (#1434) 2025-12-04 23:40:59 +00:00
.prettierignore Search Relative Time Queries (#1305) 2025-10-29 15:49:10 +00:00
.prettierrc first commit 2023-09-12 20:08:05 -07:00
.yarnrc.yml chore: set yarn npmMinimalAgeGate (#2022) 2026-03-31 18:37:07 +00:00
AGENTS.md Add Cursor Cloud specific instructions to AGENTS.md (#2081) 2026-04-10 14:54:52 +00:00
CLAUDE.md Migrate agent instructions to AGENTS.md for multi-agent support (#1925) 2026-03-16 20:27:25 +00:00
CONTRIBUTING.md feat: integrate Model Context Protocol (MCP) server for dashboards & investigations (#2030) 2026-04-14 14:39:07 +00:00
DEPLOY.md update docs spelling (#1365) 2025-11-14 15:04:26 +00:00
docker-compose.ci.yml [HDX-3929] Migrate OTel Collector build to use OCB (OpenTelemetry Collector Builder) (#2109) 2026-04-14 12:04:20 -07:00
docker-compose.dev.yml [HDX-3994] Deprecate clickhouse.json feature gate in favor of per-exporter json config (#2119) 2026-04-15 15:49:45 +00:00
docker-compose.yml chore: update clickhouse version for compose files to 26.1 (#1791) 2026-02-24 15:24:43 -05:00
knip.json chore: Refactor PR classification + add tests (#2129) 2026-04-16 15:25:06 +00:00
LICENSE first commit 2023-09-12 20:08:05 -07:00
LOCAL.md chore: pull images from custom registry domain (#523) 2024-12-09 20:18:18 -08:00
Makefile chore: Refactor PR classification + add tests (#2129) 2026-04-16 15:25:06 +00:00
MCP.md feat: integrate Model Context Protocol (MCP) server for dashboards & investigations (#2030) 2026-04-14 14:39:07 +00:00
nx.json chore: enable nx caching on common-utils builds during dev (#1880) 2026-03-11 02:19:33 +00:00
package.json [HDX-3964] Add event pattern mining to CLI (Shift+P) (#2106) 2026-04-14 18:03:56 +00:00
README.md chore: Update docs for ClickStack and HyperDX v2 Launch (#878) 2025-05-29 16:32:47 +00:00
tsconfig.base.json revert: api esbuild (#1280) 2025-10-21 09:27:47 +00:00
version.sh chore: align all versions on 2.0.0 (#886) 2025-06-03 20:48:08 +00:00
yarn.lock Release HyperDX (#2097) 2026-04-20 00:00:40 -07:00

hyperdx logo


HyperDX

HyperDX, a core component of ClickStack, helps engineers quickly figure out why production is broken by making it easy to search & visualize logs and traces on top of any ClickHouse cluster (imagine Kibana, for ClickHouse).

DocumentationChat on DiscordLive DemoBug ReportsContributingWebsite

  • 🕵️ Correlate/search logs, metrics, session replays and traces all in one place
  • 📝 Schema agnostic, works on top of your existing ClickHouse schema
  • 🔥 Blazing fast searches & visualizations optimized for ClickHouse
  • 🔍 Intuitive full-text search and property search syntax (ex. level:err), SQL optional!
  • 📊 Analyze trends in anomalies with event deltas
  • 🔔 Set up alerts in just a few clicks
  • 📈 Dashboard high cardinality events without a complex query language
  • { Native JSON string querying
  • Live tail logs and traces to always get the freshest events
  • 🔭 OpenTelemetry supported out of the box
  • ⏱️ Monitor health and performance from HTTP requests to DB queries (APM)

Search logs and traces all in one place

Spinning Up HyperDX

HyperDX can be deployed as part of ClickStack, which includes ClickHouse, HyperDX, OpenTelemetry Collector and MongoDB.

docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

Afterwards, you can visit http://localhost:8080 to access the HyperDX UI.

If you already have an existing ClickHouse instance, want to use a single container locally, or are looking for production deployment instructions, you can view the different deployment options in our deployment docs.

If your server is behind a firewall, you'll need to open/forward port 8080, 8000 and 4318 on your firewall for the UI, API and OTel collector respectively.

We recommend at least 4GB of RAM and 2 cores for testing.

Hosted ClickHouse Cloud

You can also deploy HyperDX with ClickHouse Cloud, you can sign up for free and get started in just minutes.

Instrumenting Your App

To get logs, metrics, traces, session replay, etc into HyperDX, you'll need to instrument your app to collect and send telemetry data over to your HyperDX instance.

We provide a set of SDKs and integration options to make it easier to get started with HyperDX, such as Browser, Node.js, and Python

You can find the full list in our docs.

OpenTelemetry

Additionally, HyperDX is compatible with OpenTelemetry, a vendor-neutral standard for instrumenting your application backed by CNCF. Supported languages/platforms include:

  • Kubernetes
  • Javascript
  • Python
  • Java
  • Go
  • Ruby
  • PHP
  • .NET
  • Elixir
  • Rust

(Full list here)

Once HyperDX is running, you can point your OpenTelemetry SDK to the OpenTelemetry collector spun up at http://localhost:4318.

Contributing

We welcome all contributions! There's many ways to contribute to the project, including but not limited to:

Motivation

Our mission is to help engineers ship reliable software. To enable that, we believe every engineer needs to be able to easily leverage production telemetry to quickly solve burning production issues.

However, in our experience, the existing tools we've used tend to fall short in a few ways:

  1. They're expensive, and the pricing has failed to scale with TBs of telemetry becoming the norm, leading to teams aggressively cutting the amount of data they can collect.
  2. They're hard to use, requiring full-time SREs to set up, and domain experts to use confidently.
  3. They requiring hopping from tool to tool (logs, session replay, APM, exceptions, etc.) to stitch together the clues yourself.

We hope you give HyperDX in ClickStack a try and let us know how we're doing!

Contact

HyperDX Usage Data

HyperDX collects anonymized usage data for open source deployments. This data supports our mission for observability to be available to any team and helps support our open source product run in a variety of different environments. While we hope you will continue to support our mission in this way, you may opt out of usage data collection by setting the USAGE_STATS_ENABLED environment variable to false. Thank you for supporting the development of HyperDX!

License

MIT