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
github-actions[bot] c26ee9164a
Release HyperDX (#874)
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to v2, this PR will be updated.


# Releases
## @hyperdx/app@2.0.0

### Major Changes

-   3fb3169: bumps to v2 beta

### Minor Changes

-   759da7a: Support multiple OTEL metric types in source configuration setup.
-   9579251: Stores the collapse vs expand status of the side navigation in local storage so it's carried across browser windows/sessions.
-   57a6bc3: feat: BETA metrics support (sum + gauge)

### Patch Changes

-   56e39dc: 36c3edc fix: remove several source change forms throughout the log drawer
-   c60b975: chore: bump node to v22.16.0
-   ab617c1: feat: support multiseries metrics chart
-   7de8916: Removes trailing slash for connection urls
-   3be7f4d: fix: input does not overlap with language select button anymore
-   d176b54: fix: chartpage querying too on every keystroke after initial query
-   459267a: feat: introduce session table model form
-   fe8ed22: fix: color display on search page for traces
-   b3f3151: Allow to create Slack Webhooks from Team Settings page
-   2e350e2: feat: implement logs > metrics correlation flow + introduce convertV1ChartConfigToV2
-   321e24f: fix: alerting time range filtering bug
-   092a292: fix: autocomplete for key-values complete for v2 lucene
-   a6fd5e3: feat: introduce k8s preset dashboard
-   2f626e1: fix: metric name filtering for some metadata
-   cfdd523: feat: clickhouse queries are by default conducted through the clickhouse library via POST request. localMode still uses GET for CORS purposes
-   6dc6989: feat: Automatically use last used source when loading search page
-   a9dfa14: Added support to CTE rendering where you can now specify a CTE using a full chart config object instance. This CTE capability is then used to avoid the URI too long error for delta event queries.
-   fa7875c: feat: add summary and exponential histogram metrics to the source form and database storage
-   5a10ae1: fix: delete huge z-value for tooltip
-   f5e9a07: chore: bump node version to v22
-   b16c8e1: feat: compute charts ratio
-   6864836: fix: don't show ellipses on search when query is in-flight
-   86465a2: fix: map CLICKHOUSE_SERVER_ENDPOINT to otelcol ch exporter 'endpoint' field
-   08009ac: feat: add saved filters for searches
-   92a4800: feat: move rrweb event fetching to the client instead of an api route
-   b99236d: fix: autocomplete options for dashboard page
-   43a9ca1: adopt clickhouse-js for all client side queries
-   b690db8: Introduce event panel overview tab
-   7f0b397: feat: queryChartConfig method + events chart ratio
-   5db2767: Fixed CI linting and UI release task.
-   000458d: chore: GA v2
-   84a9119: fix: Session replay intermittently showing "No replay available for this session"
-   4514f2c: Remove connection health hook - too noisy
-   8d534da: fixed ui state on session panel to be inline with ui
-   931d738: fix: bugs with showing non otel spans (ex. clickhouse opentelemetry span logs)
-   2580ddd: chore: bump next to v13.5.10
-   db761ba: fix: remove originalWhere tag from view. not used anyways
-   184402d: fix: use quote for aliases for sql compatibility
-   5044083: Session Replay tab for traces is disabled unless the source is configured with a sessionId
-   8c95b9e: Add search history
-   a762203: fix: metadata getAllKeyValues query key scoped to table now
-   cd0e4fd: fix: correct handling of gauge metrics in renderChartConfig
-   b4b5f6b: style: remove unused routes/components + clickhouse utils (api)
-   1211386: add severitytext coloring to event patterns
-   6dafb87: fix: View Events not shown for multiple series; grabs where clause when single series
-   e7262d1: feat: introduce all-one-one (auth vs noauth) multi-stage build
-   decd622: fix: k8s dashboard uptime metrics + warning k8s event body
-   e884d85: fix: metrics > logs correlation flow
-   e5a210a: feat: support search on multi implicit fields (BETA)
-   Updated dependencies [50ce38f]
-   Updated dependencies [79fe30f]
-   Updated dependencies [e935bb6]
-   Updated dependencies [8acc725]
-   Updated dependencies [2e350e2]
-   Updated dependencies [321e24f]
-   Updated dependencies [092a292]
-   Updated dependencies [a6fd5e3]
-   Updated dependencies [2f626e1]
-   Updated dependencies [cfdd523]
-   Updated dependencies [9c5c239]
-   Updated dependencies [7d2cfcf]
-   Updated dependencies [a9dfa14]
-   Updated dependencies [fa7875c]
-   Updated dependencies [b16c8e1]
-   Updated dependencies [c50c42d]
-   Updated dependencies [86465a2]
-   Updated dependencies [e002c2f]
-   Updated dependencies [b51e39c]
-   Updated dependencies [759da7a]
-   Updated dependencies [b9f7d32]
-   Updated dependencies [92a4800]
-   Updated dependencies [eaa6bfa]
-   Updated dependencies [e80630c]
-   Updated dependencies [4865ce7]
-   Updated dependencies [29e8f37]
-   Updated dependencies [43a9ca1]
-   Updated dependencies [7f0b397]
-   Updated dependencies [bd9dc18]
-   Updated dependencies [5db2767]
-   Updated dependencies [414ff92]
-   Updated dependencies [000458d]
-   Updated dependencies [0cf5358]
-   Updated dependencies [99b60d5]
-   Updated dependencies [931d738]
-   Updated dependencies [57a6bc3]
-   Updated dependencies [184402d]
-   Updated dependencies [a762203]
-   Updated dependencies [cd0e4fd]
-   Updated dependencies [e7262d1]
-   Updated dependencies [321e24f]
-   Updated dependencies [96b8c50]
-   Updated dependencies [e884d85]
-   Updated dependencies [e5a210a]
    -   @hyperdx/common-utils@0.2.0

## @hyperdx/api@2.0.0

### Minor Changes

-   79fe30f: Queries depending on numeric aggregates now use the type's default value (e.g. 0) instead of null when dealing with non-numeric data.
-   759da7a: Support multiple OTEL metric types in source configuration setup.

### Patch Changes

-   c60b975: chore: bump node to v22.16.0
-   50ce38f: Histogram metric query test cases
-   9004826: fix: remove total number of webhook limit
-   2e350e2: feat: implement logs > metrics correlation flow + introduce convertV1ChartConfigToV2
-   321e24f: fix: alerting time range filtering bug
-   9a9581b: Adds external API for alerts and dashboards
-   e5dfefb: Added test cases for the webhook and source routes.
-   fa7875c: feat: add summary and exponential histogram metrics to the source form and database storage
-   f5e9a07: chore: bump node version to v22
-   59ee6d2: bring usage stats up to date
-   1674ab8: moved swagger to dependencies instead of devDependencies
-   86465a2: fix: map CLICKHOUSE_SERVER_ENDPOINT to otelcol ch exporter 'endpoint' field
-   d72d1d2: Add ingestion key authentication in OTel collector via OpAMP
-   b9f7d32: Refactored renderWith to simplify logic and ship more tests with the changes.
-   293a2af: Adds openapidoc annotations for spec generation and swagger route for development
-   92a4800: feat: move rrweb event fetching to the client instead of an api route
-   adc2a0b: fix: Ensure errors from proxy are shown to the user
-   43a9ca1: adopt clickhouse-js for all client side queries
-   7f0b397: feat: queryChartConfig method + events chart ratio
-   5db2767: Fixed CI linting and UI release task.
-   000458d: chore: GA v2
-   99b60d5: Fixed sum metric query to pass integration test case from v1.
-   931d738: fix: bugs with showing non otel spans (ex. clickhouse opentelemetry span logs)
-   184402d: fix: use quote for aliases for sql compatibility
-   cd0e4fd: fix: correct handling of gauge metrics in renderChartConfig
-   d63deed: fix: support otelcol opamp for aio build
-   b4b5f6b: style: remove unused routes/components + clickhouse utils (api)
-   e7262d1: feat: introduce all-one-one (auth vs noauth) multi-stage build
-   d326610: feat: introduce RUN_SCHEDULED_TASKS_EXTERNALLY + enable in-app task
-   96b8c50: Fix histogram query metric to support grouping and correct issues with value computation.
-   414ff92: perf + fix: single clickhouse proxy middleware instance
-   Updated dependencies [50ce38f]
-   Updated dependencies [79fe30f]
-   Updated dependencies [e935bb6]
-   Updated dependencies [8acc725]
-   Updated dependencies [2e350e2]
-   Updated dependencies [321e24f]
-   Updated dependencies [092a292]
-   Updated dependencies [a6fd5e3]
-   Updated dependencies [2f626e1]
-   Updated dependencies [cfdd523]
-   Updated dependencies [9c5c239]
-   Updated dependencies [7d2cfcf]
-   Updated dependencies [a9dfa14]
-   Updated dependencies [fa7875c]
-   Updated dependencies [b16c8e1]
-   Updated dependencies [c50c42d]
-   Updated dependencies [86465a2]
-   Updated dependencies [e002c2f]
-   Updated dependencies [b51e39c]
-   Updated dependencies [759da7a]
-   Updated dependencies [b9f7d32]
-   Updated dependencies [92a4800]
-   Updated dependencies [eaa6bfa]
-   Updated dependencies [e80630c]
-   Updated dependencies [4865ce7]
-   Updated dependencies [29e8f37]
-   Updated dependencies [43a9ca1]
-   Updated dependencies [7f0b397]
-   Updated dependencies [bd9dc18]
-   Updated dependencies [5db2767]
-   Updated dependencies [414ff92]
-   Updated dependencies [000458d]
-   Updated dependencies [0cf5358]
-   Updated dependencies [99b60d5]
-   Updated dependencies [931d738]
-   Updated dependencies [57a6bc3]
-   Updated dependencies [184402d]
-   Updated dependencies [a762203]
-   Updated dependencies [cd0e4fd]
-   Updated dependencies [e7262d1]
-   Updated dependencies [321e24f]
-   Updated dependencies [96b8c50]
-   Updated dependencies [e884d85]
-   Updated dependencies [e5a210a]
    -   @hyperdx/common-utils@0.2.0

## @hyperdx/common-utils@0.2.0

### Minor Changes

-   79fe30f: Queries depending on numeric aggregates now use the type's default value (e.g. 0) instead of null when dealing with non-numeric data.
-   a9dfa14: Added support to CTE rendering where you can now specify a CTE using a full chart config object instance. This CTE capability is then used to avoid the URI too long error for delta event queries.
-   e002c2f: Support querying a sum metric as a value instead of a rate
-   759da7a: Support multiple OTEL metric types in source configuration setup.
-   e80630c: Add chart support for querying OTEL histogram metric table
-   57a6bc3: feat: BETA metrics support (sum + gauge)

### Patch Changes

-   50ce38f: Histogram metric query test cases
-   e935bb6: ci: introduce release-nightly workflow
-   8acc725: Fixes to histogram value computation
-   2e350e2: feat: implement logs > metrics correlation flow + introduce convertV1ChartConfigToV2
-   321e24f: fix: alerting time range filtering bug
-   092a292: fix: autocomplete for key-values complete for v2 lucene
-   a6fd5e3: feat: introduce k8s preset dashboard
-   2f626e1: fix: metric name filtering for some metadata
-   cfdd523: feat: clickhouse queries are by default conducted through the clickhouse library via POST request. localMode still uses GET for CORS purposes
-   9c5c239: fix: handle 'filters' config (metrics)
-   7d2cfcf: fix: 'Failed to fetch' errors
-   fa7875c: feat: add summary and exponential histogram metrics to the source form and database storage
-   b16c8e1: feat: compute charts ratio
-   c50c42d: add correlate log in trace waterfall chart
-   86465a2: fix: map CLICKHOUSE_SERVER_ENDPOINT to otelcol ch exporter 'endpoint' field
-   b51e39c: fix: disable keep_alive on the browser side (ch client)
-   b9f7d32: Refactored renderWith to simplify logic and ship more tests with the changes.
-   92a4800: feat: move rrweb event fetching to the client instead of an api route
-   eaa6bfa: fix: transform partition_key to be the same format as others
-   4865ce7: Fixes the histogram query to perform quantile calculation across all data points
-   29e8f37: fix: aggCondition issue in sum/gauge/histogram metrics
-   43a9ca1: adopt clickhouse-js for all client side queries
-   7f0b397: feat: queryChartConfig method + events chart ratio
-   bd9dc18: perf: reuse existing queries promises to avoid duplicate requests
-   5db2767: Fixed CI linting and UI release task.
-   414ff92: feat: export 'Connection' type
-   000458d: chore: GA v2
-   0cf5358: chore: bump clickhouse client to v1.11.1
-   99b60d5: Fixed sum metric query to pass integration test case from v1.
-   931d738: fix: bugs with showing non otel spans (ex. clickhouse opentelemetry span logs)
-   184402d: fix: use quote for aliases for sql compatibility
-   a762203: fix: metadata getAllKeyValues query key scoped to table now
-   cd0e4fd: fix: correct handling of gauge metrics in renderChartConfig
-   e7262d1: feat: introduce all-one-one (auth vs noauth) multi-stage build
-   321e24f: feat: support 'dateRangeEndInclusive' in timeFilterExpr
-   96b8c50: Fix histogram query metric to support grouping and correct issues with value computation.
-   e884d85: fix: metrics > logs correlation flow
-   e5a210a: feat: support search on multi implicit fields (BETA)


Co-authored-by: Warren <5959690+wrn14897@users.noreply.github.com>
2025-05-29 14:18:01 +00:00
.changeset Release HyperDX (#874) 2025-05-29 14:18:01 +00:00
.github ci: free up more spaces for release-nightly workflow (#862) 2025-05-27 22:18:00 +00:00
.husky first commit 2023-09-12 20:08:05 -07:00
.vscode Add ingestion key check to otel collector via OpAMP (#825) 2025-05-23 01:41:35 +00:00
.yarn/releases feat: move more codes 2024-11-21 21:44:33 -08:00
docker style: improve aio startup logs + silent ch stdout (#868) 2025-05-28 22:36:16 +00:00
packages Release HyperDX (#874) 2025-05-29 14:18:01 +00:00
smoke-tests/otel-collector feat: introduce a few env vars to config otel collector (#864) 2025-05-28 18:54:13 +00:00
.env Release HyperDX (#874) 2025-05-29 14:18:01 +00:00
.gitattributes first commit 2023-09-12 20:08:05 -07:00
.gitignore feat: Adds auto openapi doc generation + swagger UI for API (#779) 2025-04-29 17:54:34 +00:00
.kodiak.toml feat: support HYPERDX_LOG_LEVEL env var (#66) 2023-10-18 19:01:44 +00:00
.nvmrc chore: bump node to v22.16.0 (#839) 2025-05-22 17:05:30 +00:00
.prettierignore first commit 2023-09-12 20:08:05 -07:00
.prettierrc first commit 2023-09-12 20:08:05 -07:00
.yarnrc.yml feat: move more codes 2024-11-21 21:44:33 -08:00
CONTRIBUTING.md chore: fix typos in comment (#360) 2024-04-01 17:20:45 +00:00
DEPLOY.md chore: remove unused dependencies (#791) 2025-05-06 03:13:20 +00:00
docker-compose.ci.yml feat: introduce a few env vars to config otel collector (#864) 2025-05-28 18:54:13 +00:00
docker-compose.dev.yml feat: introduce a few env vars to config otel collector (#864) 2025-05-28 18:54:13 +00:00
docker-compose.yml feat: introduce a few env vars to config otel collector (#864) 2025-05-28 18:54:13 +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: exit 2-beta pre-release phase (#871) 2025-05-29 03:32:47 +00:00
nx.json first commit 2023-09-12 20:08:05 -07:00
package.json Add ingestion key check to otel collector via OpAMP (#825) 2025-05-23 01:41:35 +00:00
README.md usage info (#846) 2025-05-28 22:31:57 +00:00
version.sh chore: exit 2-beta pre-release phase (#871) 2025-05-29 03:32:47 +00:00
yarn.lock Release HyperDX (#874) 2025-05-29 14:18:01 +00:00

hyperdx logo


HyperDX

HyperDX 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 in a few different ways depending on your needs. The easiest way to get started from scratch is to start the complete stack via Docker Compose. Which will start an OpenTelemetry collector, Clickhouse, and HyperDX with a MongoDB instance.

After cloning this repository, simply start the stack with:

docker compose up -d

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 DEPLOY.md.

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.

Local Mode

Note: HyperDX v2 is currently in beta for local mode.

You can get started by standing up the HyperDX local container, which will run an OpenTelemetry collector (on port 4317), Clickhouse (on port 8123), and the HyperDX UI (on port 8080).

You can spin up the container with the following command:

docker run -p 8080:8080 -p 8123:8123 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-local:2-beta

Afterwards, you can visit http://localhost:8080 to access the HyperDX UI. If you're connecting to an external Clickhouse cluster, you can simply just forward port 8080 and set up the connection in the UI.

Safari & Brave Browser Users: There are known issues with Safari & Brave's CORS implementation that can prevent connecting to Clickhouse in local mode. We recommend using another browser in the interim.

We recommend having at least 1GB of RAM and 1 CPU core available for the container if using the included OpenTelemetry collector and Clickhouse server.

Hosted Cloud

HyperDX is also available as a hosted cloud service at hyperdx.io. You can sign up for a free account and start sending data in 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're still early on in our journey, but are building in the open to solve these key issues in observability. We hope you give HyperDX a try and let us know how we're doing!

Open Source vs Hosted Cloud

HyperDX is open core, with most of our features available here under an MIT license. We have a cloud-hosted version available at hyperdx.io with a few additional features beyond what's offered in the open source version.

Our cloud hosted version exists so that we can build a sustainable business and continue building HyperDX as an open source platform. We hope to have more comprehensive documentation on how we balance between cloud-only and open source features in the future. In the meantime, we're highly aligned with Gitlab's stewardship model.

Contact

HyperDX V2 Roadmap

HyperDX v2 is currently in beta, with the goals of accomplishing deployment simplicity, native SQL support, and improved performance for PB+ deployments. Currently we've released a subset of features with the goal of getting early feedback from the community.

Here's a high-level list of support we're working on delivering as part of v2:

  • Log & Trace Search w/ Lucene & SQL
  • Charting & Dashboarding
  • Event Deltas
  • Performance Improvements
  • Authentication & Saving Sources/Connections
  • Saved Searches & Dashboards
  • Alerting
  • PromQL-based Metrics
  • OTLP/SQL-based Metrics
  • Browser Monitoring/Session Replay
  • Raw SQL Charting
  • Improved Custom Domain/TLS Support
  • Official Helm Chart
  • v1 Migration Tooling
  • Public API

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