Update CONTRIBUTING.md (#1000)

This commit is contained in:
Mike Shi 2025-07-14 18:03:54 -07:00 committed by GitHub
parent 8bbc5f4398
commit 9ec259490a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 18 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 662 KiB

View file

@ -6,30 +6,33 @@
Service Descriptions:
- otel: OpenTelemetry Collector, allows us to receive OpenTelemetry data from
instrumented applications and forward it to the ingestor for further
processing.
- ingestor: Vector-based event pipeline that receives Otel and non-Otel events
and parses/normalizes/forwards it to the aggregator.
- aggregator: Node.js service that receives events from the ingestor, verifies
authentication, and inserts it to Clickhouse for storage.
- clickhouse: Clickhouse database, stores all events.
- db: MongoDB, stores user/alert/dashboard data.
- api: Node.js API, executes Clickhouse queries on behalf of the frontend.
- miner: FastAPI app serving the drain3 clustering model.
- app: Next.js frontend, serves the UI.
- task-check-alerts: Checks for alert criteria and fires off any alerts as
needed.
- 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.
- 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
frontend and serves the frontend. serves the frontend. Can also run alert
checker.
- HyperDX UI (app): Next.js frontend, serves the UI.
## Development
You can get started by deploying a complete development stack via Docker Compose
in dev mode.
Pre-requisites:
- Docker
- Node.js (`>=18.12.0`)
- Yarn (v4)
You can get started by deploying a complete development stack in dev mode.
```bash
docker compose -f ./docker-compose.dev.yml up -d
yarn run dev
```
This will start the Node.js API, Next.js frontend locally and the OpenTelemetry
collector and ClickHouse server in Docker.
To enable self-instrumentation and demo logs, you can set the `HYPERDX_API_KEY`
to your ingestion key (go to
[http://localhost:8080/team](http://localhost:8080/team) after creating your
@ -38,12 +41,17 @@ account) and then restart the stack.
ex.
```sh
HYPERDX_API_KEY=<YOUR_INGESTION_API_KEY_HERE> docker compose -f ./docker-compose.dev.yml up -d
HYPERDX_API_KEY=<YOUR_INGESTION_API_KEY_HERE> yarn run dev
```
The core services are all hot-reloaded, so you can make changes to the code and
see them reflected in real-time.
### Volumes
The development stack mounts volumes locally for persisting storage under
`.volumes`. Clear this directory to reset ClickHouse and MongoDB storage.
## Testing
To run the tests locally, you can run the following command: