Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ problem (or the fix) for themselves. If a maintainer can't reproduce it, they
can't triage the issue or review the PR.

**Try the demo environment first.** [play.hyperdx.io](https://play.hyperdx.io)
is a hosted HyperDX connected to a public demo dataset (logs, traces, metrics
is a hosted ClickStack instance connected to a public demo dataset (logs, traces, metrics
and session replays from the OpenTelemetry demo app). If your bug shows up
there, link the exact URL — search and chart explorer keep their query, filters
and time range in the URL — and that's most of the repro.
Expand Down Expand Up @@ -176,13 +176,13 @@ Service Descriptions:

- OpenTelemetry Collector (otel-collector): Receives OpenTelemetry data from
instrumented applications and forwards it to ClickHouse for storage. Includes
OpAMP supervisor that dynamically pulls configuration from HyperDX API.
OpAMP supervisor that dynamically pulls configuration from ClickStack API.
- ClickHouse (ch-server): ClickHouse database, stores all telemetry.
- MongoDB (db): Stores user/saved search/alert/dashboard data.
- HyperDX API (api): Node.js API, executes ClickHouse queries on behalf of the
- ClickStack API (api): Node.js API, executes ClickHouse queries on behalf of the
frontend and serves the frontend. serves the frontend. Can also run alert
checker.
- HyperDX UI (app): Next.js frontend, serves the UI.
- ClickStack UI (app): Next.js frontend, serves the UI.

## Development

Expand Down Expand Up @@ -335,7 +335,7 @@ pin. Drop it if that blanket resolution is ever narrowed.

## AI-Assisted Development

HyperDX includes an [MCP server](https://modelcontextprotocol.io/) that lets AI assistants query observability data, manage dashboards, and
ClickStack includes an [MCP server](https://modelcontextprotocol.io/) that lets AI assistants query observability data, manage dashboards, and
explore data sources. See [MCP.md](/MCP.md) for setup instructions.

The repo also ships with configuration for AI coding assistants that enables interactive browser-based E2E test generation and debugging via
Expand Down
26 changes: 13 additions & 13 deletions DEPLOY.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# HyperDX Deployment Guide
# ClickStack Deployment Guide

[HyperDX](https://hyperdx.io) helps engineers quickly figure out why production
[ClickStack](https://hyperdx.io) 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). You can learn more about
HyperDX in our [README](/README.md).
ClickStack in our [README](/README.md).

HyperDX can be deployed in a few different ways:
ClickStack can be deployed in a few different ways:

- [Bring Your Own ClickHouse](#bring-your-own-clickhouse)
- [All-in-one Docker Compose Stack](#all-in-one-docker-compose-stack)
Expand All @@ -18,7 +18,7 @@ and are also served from `docker.clickhouse.com`:

| Image | Name |
| --------------------------- | -------------------------------------- |
| HyperDX (UI + API) | `clickhouse/clickstack` |
| ClickStack (UI + API) | `clickhouse/clickstack` |
| All-in-one (with auth) | `clickhouse/clickstack-all-in-one` |
| Local (all-in-one, no auth) | `clickhouse/clickstack-local` |
| OpenTelemetry collector | `clickhouse/clickstack-otel-collector` |
Expand All @@ -31,8 +31,8 @@ stop updating will be announced in the changelog.

## Bring Your Own ClickHouse

If you already have an existing ClickHouse cluster, you can simply deploy a
HyperDX container that connects to your ClickHouse cluster. You'll need a
If you already have an existing ClickHouse cluster, you can simply deploy the
ClickStack container that connects to your ClickHouse cluster. You'll need a
separate MongoDB instance to persist your users, dashboards, searches and more.

To get started, you can run the following image:
Expand All @@ -52,21 +52,21 @@ replicas from sharing sessions. The old public value `hyperdx is cool 👋` is
also replaced with a per-process secret when authentication is enabled.

To customize the frontend URL, set the `FRONTEND_URL` environment variable to
the URL your HyperDX instance is hosted on.
the URL your ClickStack instance is hosted on.

## All-in-one Docker Compose Stack

The easiest way to get started with HyperDX from scratch is to use our
The easiest way to get started with ClickStack from scratch is to use our
all-in-one Docker Compose stack. This stack will start ClickHouse, an
OpenTelemetry collector, and HyperDX with a MongoDB instance.
OpenTelemetry collector, the ClickStack UI and API, and MongoDB.

To get started, clone this repository and run the following command:

```bash
docker compose up -d
```

This will start the HyperDX stack and open a port for the UI, API, and OTel
This will start the ClickStack stack and open a port for the UI, API, and OTel
collector.

When deploying into production, you'll want to disable any extra ports outside
Expand All @@ -91,9 +91,9 @@ replicas from sharing sessions. The old public value is not a production secret.

## Local Development Mode

HyperDX can also be deployed alongside your existing local development stack to
ClickStack can also be deployed alongside your existing local development stack to
help you debug issues locally. This mode will start an OpenTelemetry collector,
ClickHouse, and HyperDX with a MongoDB in a single instance, without any
ClickHouse, the ClickStack UI and API, and MongoDB in a single container, without any
authentication or configuration persistence.

To get started, spin up the local mode container:
Expand Down
30 changes: 15 additions & 15 deletions LOCAL.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# HyperDX Local
# ClickStack Local

HyperDX Local is a single container local-optimized version of [HyperDX](https://www.hyperdx.io/) that allows you to pipe OpenTelemetry telemetry (logs, metrics, traces) to a local instance of HyperDX running on your own machine. This makes it easily to debug complex applications locally using the same telemetry you have in prod or to test your instrumentation before pushing it into production.
ClickStack Local is a single container local-optimized version of [ClickStack](https://www.hyperdx.io/) that allows you to pipe OpenTelemetry telemetry (logs, metrics, traces) to a local instance of ClickStack running on your own machine. This makes it easily to debug complex applications locally using the same telemetry you have in prod or to test your instrumentation before pushing it into production.

HyperDX Local has a few additional benefits tuned to local development over the regular version:
ClickStack Local has a few additional benefits tuned to local development over the regular version:
- 📦 Packaged in a single container, to slot alongside your existing dev environment (ex. Docker Compose stack)
- 🔑 No need to auth to send and view telemetry
- 🐏 Optimized for lower memory footprint

And it has all the features you would expect from HyperDX:
And it has all the features you would expect from ClickStack:
- 🔭 Native OpenTelemetry logs, metrics, and traces support
- 🔍 Full text searching of logs and traces
- `{` Automatic JSON structured log parsing
- ⏱️ Application performance monitoring
- 📈 Charting logs, metrics and traces in a single UI

<br/>
<img alt="Demo of using HyperDX Local for debugging a local app" src="./.github/images/demo_local_animated.gif" title="Demo of using HyperDX Local for debugging a local app">
<img alt="Demo of using ClickStack Local for debugging a local app" src="./.github/images/demo_local_animated.gif" title="Demo of using ClickStack Local for debugging a local app">

## Getting Started

Expand All @@ -25,24 +25,24 @@ To get started, simply run the Docker container with the appropriate ports forwa
docker run -p 8000:8000 -p 4318:4318 -p 4317:4317 -p 8080:8080 -p 8002:8002 docker.clickhouse.com/clickhouse/clickstack-local
```

Afterwards, you can visit `http://localhost:8080` and immediately jump into the HyperDX UI.
Afterwards, you can visit `http://localhost:8080` and immediately jump into the ClickStack UI.

> We recommend having _at least_ 1GB of RAM and 1 CPU core available for the container.

## Configuring Instrumentation

Configuring instrumentation for HyperDX local is similar to configuring it for the regular open source version. You should point your OpenTelemetry instrumentation to the OpenTelemetry endpoints:
Configuring instrumentation for ClickStack Local is similar to configuring it for the regular open source version. You should point your OpenTelemetry instrumentation to the OpenTelemetry endpoints:

- `http://localhost:4318` for HTTP
- `localhost:4317` for gRPC

Most instrumentations can be configured using the `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable. Ex: `OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318`.

If you're using a HyperDX maintained SDK, you may need to give a non-empty `HYPERDX_API_KEY` as well, API keys are not validated in HyperDX Local and therefore can be any non-empty value.
If you're using a ClickStack maintained SDK, you may need to give a non-empty `HYPERDX_API_KEY` as well, API keys are not validated in ClickStack Local and therefore can be any non-empty value.

## Customizing Ports

If you need to customize the app (8080) or api (8000) ports that HyperDX Local runs on, you'll need to modify the `docker run` command to forward the appropriate ports and set a few environment variables.
If you need to customize the app (8080) or api (8000) ports that ClickStack Local runs on, you'll need to modify the `docker run` command to forward the appropriate ports and set a few environment variables.

Customizing the OpenTelemetry ports can simply be changed by modifying the port forwarding flags. Ex. Replacing `-p 4318:4318` with `-p 4999:4318` to change the OpenTelemetry HTTP port to 4999.

Expand All @@ -61,13 +61,13 @@ docker.clickhouse.com/clickhouse/clickstack-local

## Open Source & Cloud Versions (Beyond Local)

If you're looking to deploy HyperDX to monitor a production environment (or anything outside your local environment), you can check out the [regular open source version](https://github.com/ClickHouse/ClickStack) or the [cloud hosted version](https://hyperdx.io/).
If you're looking to deploy ClickStack to monitor a production environment (or anything outside your local environment), you can check out the [regular open source version](https://github.com/ClickHouse/ClickStack) or the [cloud hosted version](https://hyperdx.io/).

### Local vs Non-Local Versions

There are a few missing features in HyperDX Local compared to the other versions of HyperDX:
There are a few missing features in ClickStack Local compared to other ClickStack deployments:

- HyperDX Local is single-user only (due to skipping auth)
- ClickStack Local is single-user only (due to skipping auth)
- Has no support for [management APIs](https://www.hyperdx.io/docs/api/alerts)
- No alerting support (alerts will not fire)
- DB queries will not be reduced into query patterns
Expand All @@ -79,9 +79,9 @@ There are a few missing features in HyperDX Local compared to the other versions

- `4317` - OpenTelemetry gRPC endpoint
- `4318` - OpenTelemetry HTTP endpoint
- `8000` - Private HyperDX API for the UI
- `8002` - HyperDX HTTP Logging Endpoint
- `8080` - HyperDX UI (Next.js)
- `8000` - Private ClickStack API for the UI
- `8002` - ClickStack HTTP Logging Endpoint
- `8080` - ClickStack UI (Next.js)

### Build Image (Only For Development)

Expand Down
51 changes: 25 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
<p align="center">
<a href="https://hyperdx.io">
<img alt="hyperdx logo" src="./packages/app/public/favicons/hyperdx/favicon.svg" width="128">
<img alt="ClickStack logo" src="./packages/app/public/favicons/clickstack/favicon.svg" width="128">
</a>
</p>

<h1 align="center">HyperDX</h1>
<h1 align="center">ClickStack</h1>

<p align="center">
<a href="https://github.com/ClickHouse/ClickStack/stargazers"><img src="https://badgen.net/github/stars/ClickHouse/ClickStack?label=%E2%98%85" alt="GitHub stars" /></a>
<img src="https://badgen.net/github/license/ClickHouse/ClickStack" alt="License" />
<a href="https://github.com/ClickHouse/ClickStack/actions/workflows/release.yml"><img src="https://github.com/ClickHouse/ClickStack/actions/workflows/release.yml/badge.svg" alt="Release" /></a>
<a href="https://hyperdx.io/discord"><img src="https://img.shields.io/badge/Discord-5865F2?logo=discord&logoColor=white" alt="Join the HyperDX Discord" /></a>
<a href="https://hyperdx.io/discord"><img src="https://img.shields.io/badge/Discord-5865F2?logo=discord&logoColor=white" alt="Join the ClickStack Discord" /></a>
</p>

<p align="center">
<a href="https://trendshift.io/repositories/2030?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-2030" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/2030" alt="hyperdxio%2Fhyperdx | Trendshift" width="250" height="55"/></a>
<a href="https://trendshift.io/repositories/2030?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-2030" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/2030" alt="ClickHouse%2FClickStack | Trendshift" width="250" height="55"/></a>
</p>

[HyperDX](https://hyperdx.io), a core component of
[ClickStack](https://clickhouse.com/use-cases/observability), 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).
[ClickStack](https://clickhouse.com/use-cases/observability) (formerly 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).

<p align="center">
<a href="https://clickhouse.com/docs/use-cases/observability/clickstack/overview">Documentation</a> • <a href="https://hyperdx.io/discord">Chat on Discord</a> • <a href="https://play.hyperdx.io/search">Live Demo</a> • <a href="https://github.com/ClickHouse/ClickStack/issues/new">Bug Reports</a> • <a href="./CONTRIBUTING.md">Contributing</a> • <a href="https://clickhouse.com/use-cases/observability">Website</a>
Expand All @@ -43,16 +42,16 @@ ClickHouse).
<br/>
<img alt="Search logs and traces all in one place" src="./.github/images/search_splash.png" title="Search logs and traces all in one place">

## Spinning Up HyperDX
## Spinning Up ClickStack

HyperDX can be deployed as part of ClickStack, which includes ClickHouse,
HyperDX, OpenTelemetry Collector and MongoDB.
The all-in-one image bundles ClickHouse, the ClickStack UI, the OpenTelemetry
Collector and MongoDB.

```bash
docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.clickhouse.com/clickhouse/clickstack-all-in-one
```

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

If you already have an existing ClickHouse instance, want to use a single
container locally, or are looking for production deployment instructions, you
Expand All @@ -67,18 +66,18 @@ can view the different deployment options in our

### Hosted ClickHouse Cloud

You can also deploy HyperDX with ClickHouse Cloud, you can
You can also deploy ClickStack with ClickHouse Cloud, you can
[sign up for free](https://console.clickhouse.cloud/signUp) 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.
To get logs, metrics, traces, session replay, etc into ClickStack, you'll need
to instrument your app to collect and send telemetry data over to your
ClickStack instance.

We provide a set of SDKs and integration options to make it easier to get
started with HyperDX, such as
started with ClickStack, such as
[Browser](https://clickhouse.com/docs/use-cases/observability/clickstack/sdks/browser),
[Node.js](https://clickhouse.com/docs/use-cases/observability/clickstack/sdks/nodejs),
and
Expand All @@ -89,7 +88,7 @@ You can find the full list in

**OpenTelemetry**

Additionally, HyperDX is compatible with
Additionally, ClickStack is compatible with
[OpenTelemetry](https://opentelemetry.io/), a vendor-neutral standard for
instrumenting your application backed by CNCF. Supported languages/platforms
include:
Expand All @@ -107,13 +106,13 @@ include:

(Full list [here](https://opentelemetry.io/docs/instrumentation/))

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

## HyperDX CLI
## ClickStack CLI

Prefer the terminal? [`@hyperdx/cli`](./packages/cli) provides an interactive
TUI and CLI (`hdx`) for working with your HyperDX data without leaving the
TUI and CLI (`hdx`) for working with your ClickStack data without leaving the
shell:

```bash
Expand Down Expand Up @@ -166,22 +165,22 @@ a few ways:
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!
We hope you give ClickStack a try and let us know how we're doing!

## Contact

- [Open an Issue](https://github.com/ClickHouse/ClickStack/issues/new)
- [Discord](https://discord.gg/FErRRKU78j)
- [Email](mailto:support@hyperdx.io)

## HyperDX Usage Data
## ClickStack Usage Data

HyperDX collects anonymized usage data for open source deployments. This data
ClickStack 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!
variable to `false`. Thank you for supporting the development of ClickStack!

## License

Expand Down
2 changes: 1 addition & 1 deletion agent_docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Agent Documentation Directory

This directory contains detailed documentation for AI coding agents working on the HyperDX codebase. These files use **progressive disclosure** - they're referenced from `AGENTS.md` but only read when needed.
This directory contains detailed documentation for AI coding agents working on the ClickStack codebase. These files use **progressive disclosure** - they're referenced from `AGENTS.md` but only read when needed.

## Purpose

Expand Down
6 changes: 3 additions & 3 deletions agent_docs/architecture.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# HyperDX Architecture
# ClickStack Architecture

## Core Services

- **HyperDX UI (`packages/app`)**: Next.js frontend serving the user interface
- **HyperDX API (`packages/api`)**: Node.js/Express backend handling queries and business logic
- **ClickStack UI (`packages/app`)**: Next.js frontend serving the user interface
- **ClickStack API (`packages/api`)**: Node.js/Express backend handling queries and business logic
- **OpenTelemetry Collector**: Receives and processes telemetry data
- **ClickHouse**: Primary data store for all telemetry (logs, metrics, traces)
- **MongoDB**: Metadata storage (users, dashboards, alerts, saved searches)
Expand Down
2 changes: 1 addition & 1 deletion agent_docs/code_style.md
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ Mantine theme overrides in `packages/app/src/theme/**` may map Mantine’s scale

`@clickhouse/click-ui` is a dependency of `packages/app`. `ThemeWrapper` mounts
`ClickUIProvider` inside `MantineProvider` with `persistTheme={false}`, so it
follows the HyperDX color mode and never writes its own theme to localStorage.
follows the app color mode and never writes its own theme to localStorage.
Storybook and `renderWithMantine` in tests get the provider for free.

- **Do**: Prefer a click-ui component over a new Mantine one when click-ui has
Expand Down
Loading
Loading