chore: updated README

This commit is contained in:
əlemi 2022-09-14 13:36:46 +02:00
parent 9d217e9dd7
commit 629ff0e9f9
No known key found for this signature in database
GPG key ID: BBCBFE5D7244634E

View file

@ -1,17 +1,33 @@
# dashboard # dashboard
![screenshot](https://data.alemi.dev/dashboard.png)
A data aggregating dashboard, capable of periodically fetching, parsing, archiving and plotting data. A data aggregating dashboard, capable of periodically fetching, parsing, archiving and plotting data.
## Name ### Name
Do you have a good name idea for this project? [Let me know](https://alemi.dev/suggestions/What%27s%20a%20good%20name%20for%20the%20project%3F)! Do you have a good name idea for this project? [Let me know](https://alemi.dev/suggestions/What%27s%20a%20good%20name%20for%20the%20project%3F)!
## How it works
This software periodically (customizable interval) makes a GET request to given URL, then applies all metric JQL queries to the JSON output, then inserts all extracted points into its underlying SQLite.
Each panel displays all points gathered respecting limits, without redrawing until user interacts with UI or data changes.
If no "x" query is specified, current time will be used (as timestamp) for each sample "x" coordinate, making this software especially useful for timeseries.
## Features ## Features
* parse JSON apis with [JQL syntax](https://github.com/yamafaktory/jql)
* embedded SQLite, no need for external database
* import/export metrics data to/from CSV
* split data from 1 fetch to many metrics
* customize source color and name, toggle them (visibility or fetching)
* customize panels (size, span, offset)
* reduce data points with average or sampling
* per-source query interval
* light/dark mode
## Usage ## Usage
This program will work on a database stored in `$HOME/.local/share/dashboard.db`. By default, nothing will be shown. This program will work on a database stored in `$HOME/.local/share/dashboard.db`. By default, nothing will be shown.
Start editing your dashboard by toggling edit mode on, and add one or more panels (from top bar). To add sources or panels, toggle edit mode (top left). Once in edit mode you can:
You can now add sources to your panel(s): put an URL pointing to any REST api, dashboard will make a periodic GET request. * Add panels (top bar)
Specify how to access data with "y" fields. A JQL query will be used to parse the json data. A value to fetch X data can also be given, if not specified, current time will be used as X when inserting values. * Add sources (in source sidebar, bottom)
Done! Edit anything to your pleasure, remember to save after editing to make your changes persist, and leave the dashboard hoarding data. * Edit panels (name, height, display options)
## Install * Edit sources (name, color, query, panel)
idk, `cargo build --release`
# Installation
`cargo build --release`, then drop it in your `~/.local/bin`. Done, have fun hoarding data!