11 releases (5 breaking)

0.41.0 Sep 26, 2021
0.39.0 Sep 2, 2021
0.30.0-alpha.7 Jun 22, 2021
0.24.0 Mar 22, 2021

#255 in Debugging

Download history 327/week @ 2022-06-09 303/week @ 2022-06-16 453/week @ 2022-06-23 545/week @ 2022-06-30 413/week @ 2022-07-07 487/week @ 2022-07-14 457/week @ 2022-07-21 93/week @ 2022-07-28 296/week @ 2022-08-04 174/week @ 2022-08-11 235/week @ 2022-08-18 194/week @ 2022-08-25 135/week @ 2022-09-01 518/week @ 2022-09-08 682/week @ 2022-09-15 499/week @ 2022-09-22

1,838 downloads per month
Used in 4 crates

Apache-2.0

265KB
7.5K SLoC

RillRate

Real-time UI for bots, microservices, and IoT

RillRate is a library that embeds a live web dashboard to your app.

Fast, embedded, with auto-layout and controls. No configuration is needed. Support: Rust, Python. Soon: Node.js, Java, C#.

  • It's fully custom - You add your own data streams with everything you want
  • It works in real-time! - NOT 5 secs real-time, it's 0.002 secs real-time 🚀
  • Zero-configuration - you don't need to install and configure any other software
  • Web-dashboard included - add the library to your app and connect to the dashboard with a web browser
  • Ferris-friendly - we created it using Rust only: from backed to UI 🦀

Become a sponsor to see how the project is born. Sponsors also get access to sources of the UI dashboard that made with the Yew Framework.

Join our reddit/rillrate community to stay tuned about all the new features we released every day!

Follow us on Twitter and watch or participate weekly competitions.

How to use it?

Add a dependency to your Cargo.toml:

[dependencies]
rillrate = "0.41.0"

Install the rillrate engine in the main function:

rillrate::install("my-app");

And create a Tracer to visualize data on the embedded dashboard:

let my_tracer = Pulse::new(
    "package.dashboard.group.tracer-name",
    FlowMode::Realtime,
    PulseOpts::default().min(0).max(50).higher(true)
);

When you tracer is spawned use it to put data to it:

tracer.push(value);

Packs

RillRate provides packs of components for different purposes.

Released:

  • Prime - basic elements

In progress:

  • APM - components for performance monitoring
  • Charts - all basic charts
  • Trade - live components for trading (order books, charts, etc.)

Project structure

The project consists of the following parts:

  • pkg-core (backend) - core components and the engine
  • pkg-dashboard (frontend) - the dashboard app and rendering routines
  • pkg-packs - tracers for different data stream types
  • rillrate - the main library that joins all the parts above
  • demo - the demo app

Frameworks

We use the following frameworks to build our product:

  • Yew Framework (frontend)
  • meio actor framework (backend)

The original idea was inspired by Nitrogen Web Framework (Erlang).


License

RillRate is provided under the Apache-2.0 license. See LICENSE.

The project is the Full-stack Rust app: both frontend and backend made with Rust.

Dependencies

~13–22MB
~441K SLoC