[][src]Crate prodash

Prodash is a dashboard for displaying the progress of concurrent application.

It consists of two parts

  • a Tree to gather progress information and messages
  • a terminal user interface which displays this information, along with optional free-form information provided by the application itself

Even though the Tree is not async, it's meant to be transparent and non-blocking performance wise, and benchmarks seem to indicate this is indeed the case.

The terminal user interface seems to be the least transparent part, but can be configured to refresh less frequently.

Terminal User Interface

By default, a TUI is provided to visualize all state. Have a look at the example provided in the tui module.

Please note that it is behind the tui-renderer feature toggle, which is enabled by default.

Logging

If the feature log-renderer is enabled (default), most calls to progress will also be logged. That way, even without a terminal user interface, there will be progress messages. Please note that logging to stdout should not be performed with this feature enabled and a terminal user interface is shown, as this will seriously interfere with the TUI.

A demo application

Please have a look at the dashboard demo.

asciicast

Run it with cargo run --example dashboard and see what else it can do by checking out cargo run --example dashboard -- --help.

Re-exports

pub use tree::Root as Tree;

Modules

line
time
tree
tui

A module implementing a terminal user interface capable of visualizing all information stored in progress trees.

Macros

info

Logs a message at the info level.

warn

Logs a message at the warn level.

Structs

TreeOptions

A way to configure new tree::Root instances