https://github.com/lucko/spark-viewer
Web frontend for spark.
https://github.com/lucko/spark-viewer
Last synced: about 1 year ago
JSON representation
Web frontend for spark.
- Host: GitHub
- URL: https://github.com/lucko/spark-viewer
- Owner: lucko
- License: gpl-3.0
- Created: 2018-05-26T23:32:24.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-04-13T19:10:13.000Z (over 1 year ago)
- Last Synced: 2025-04-13T20:21:18.720Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://spark.lucko.me/
- Size: 5.04 MB
- Stars: 94
- Watchers: 3
- Forks: 31
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README

# spark-viewer
[spark](https://github.com/lucko/spark) is a performance profiling plugin/mod for Minecraft clients, servers, and proxies.
This repository contains the website & viewer for spark, written using [Next.js](https://nextjs.org/)/[React](https://reactjs.org)/[Typescript](https://www.typescriptlang.org/).
The website contains:
- a brief **homepage**
- **downloads** page which serves direct links to the latest release
- **documentation**, although this is managed in a [separate repository](https://github.com/lucko/spark-docs)
- a **viewer** web-app for spark data, which has modes for:
- viewing the output from the spark **profiler**
- viewing the output from spark **heap dump** summaries
### Viewer
The viewer component of the website reads data from [bytebin](https://github.com/lucko/bytebin) (content storage service) and [bytesocks](https://github.com/lucko/bytesocks) (WebSocket server). It then renders this data as an interactive viewer in which the user can interpret and analyse their results.
The profile viewer renders the data as an expandable call stack tree, with support for applying deobfuscation mappings, searching, bookmarks and viewing as a flame graph.
The heap dump summary viewer renders a histogram of the classes occupying the most memory at the time when the data was collected.
### Selfhosting
#### Configuring URLs
To configure the URLs used by the application, you have to pass them as environment variables when building the application.
In the special case of using Docker, you have to pass them as build arguments.
For more information, see [`env.ts`](src/env.ts) and the [`Dockerfile`](Dockerfile).
### Contributions
Yes please! - but please open an issue or ping me on [Discord](https://discord.gg/PAGT2fu) (so we can discuss your idea) before working on a big change!
### License
spark is free & open source. It is released under the terms of the GNU GPLv3 license. Please see [`LICENSE.txt`](LICENSE.txt) for more information.
spark is a fork of [WarmRoast](https://github.com/sk89q/WarmRoast), which was also [licensed using the GPLv3](https://github.com/sk89q/WarmRoast/blob/3fe5e5517b1c529d95cf9f43fd8420c66db0092a/src/main/java/com/sk89q/warmroast/WarmRoast.java#L1-L17).