mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
Update CONTRIBUTING.md (#1000)
This commit is contained in:
parent
8bbc5f4398
commit
9ec259490a
2 changed files with 26 additions and 18 deletions
BIN
.github/images/architecture.png
vendored
BIN
.github/images/architecture.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 662 KiB |
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue