Skip to content

Commit

Permalink
Add HyperDX Local Mode docs (#363)
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeShi42 committed Apr 2, 2024
1 parent 582c915 commit 24d58d2
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 10 deletions.
Binary file added .github/images/demo_local_animated.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 18 additions & 10 deletions docker/local/README.md → LOCAL.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# HyperDX Local

HyperDX Local is a single container local-optimized version of HyperDX 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.
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.

HyperDX Local has a few additional benefits over the regular open source version:
HyperDX 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
Expand All @@ -14,6 +14,9 @@ And it has all the features you would expect from HyperDX:
- ⏱️ 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">

## Getting Started

To get started, simply run the Docker container with the appropriate ports forwarded:
Expand All @@ -35,7 +38,7 @@ Configuring instrumentation for HyperDX local is similar to configuring it for t

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 provided 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 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.

## Customizing Ports

Expand All @@ -56,16 +59,21 @@ docker run \
hyperdx/hyperdx-local
```

## Notes
## 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/hyperdxio/hyperdx) or the [cloud hosted version](https://hyperdx.io/).

### Limitations vs Regular Open Source Version
### Local vs Non-Local Versions

There are a few minor limitations compared to the regular open source version:
- Single user mode only (due to lack of auth requirement)
- No support for management APIs
There are a few missing features in HyperDX Local compared to the other versions of HyperDX:

- HyperDX 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)
- Log and DB query patterns will not be calculated
- No persistence of data if the container is torn down
- DB queries will not be reduced into query patterns
- No persistence of data (telemetry and settings) if the container is torn down

## Notes

### Ports

Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,18 @@ include:
Once HyperDX is running, you can point your OpenTelemetry SDK to the
OpenTelemetry collector spun up at `http://localhost:4318`.

## Local Mode

Interested in using HyperDX for local development and debugging? Check out HyperDX Local, a single container local-optimized version of HyperDX that allows you to pipe OpenTelemetry telemetry (logs, metrics, traces) to a local instance of HyperDX running on your own machine.

Get started with HyperDX Local by running the following Docker command:

```bash
docker run -p 8000:8000 -p 4318:4318 -p 4317:4317 -p 8080:8080 -p 8002:8002 hyperdx/hyperdx-local
```

[Read more about HyperDX Local](./LOCAL.md)

## Contributing

We welcome all contributions! There's many ways to contribute to the project,
Expand Down

0 comments on commit 24d58d2

Please sign in to comment.