Real-time UI for bots, microservices, and IoT

Overview

RillRate

UI for Microservices, Bots and IoT devices.

Support: Rust, Python, Node.js (soon).

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

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

How to use it?

Add a dependency to your Cargo.toml:

[dependencies]
rillrate = "0.37.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"],
    None, // You can add a specification here: depth, ranges, labels, etc.
);

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

tracer.push(value);

Do you want to know how we develop it?

Become a sponsor to see how our company works inside.

RillRate has an open-source core that means we released the primary part of our code under an open-source license.

We use the following frameworks to build our product:

  • Yew Framework (frontend)
  • meio actor framework (backend)
Comments
  • RillRate will not register tracers created after a certain duration.

    RillRate will not register tracers created after a certain duration.

    Adding even a small delay in adding a tracer, results in the tracer not being registered. This is replicable by but not limited to adding a delay via Thread::sleep().

    • Version: RillRate v0.23.0
    • Platform: Replicable on Windows 10 Home.
    • Minimum Reproducible Example:
    use std::error::Error;
    
    use std::time::Duration;
    
    fn main() -> Result<(), Box<dyn Error>> {
        let _rillrate = RillRate::from_env("test")?;
        sleep(Duration::from_millis(100));
        let _table = Table::create("test table")?;
        loop {
            continue;
        }
    }
    
    opened by Blakeinstein 2
  • Improve README.md's writing

    Improve README.md's writing

    I hope you don't mind, but I gave the README a quick edit from a native english speaker. Some of the language/grammar was a bit awkward before, and I think this reads a bit more naturally.

    opened by rivertam 2
  • Add documentation

    Add documentation

    Currently the documentation on Rillrate website is empty. As a Rust newbie, I would love to have more infos, at least about how to get started.

    Thanks ! :chart_with_upwards_trend: :crab:

    image

    opened by eze-kiel 1
  • Tables

    Tables "bleed" through their "bounds" in embedded web UI

    The text for table rows "bleed" through their web UI bounds when there are too many columns.

    Reproduction

    • Create a rillrate table tracer
    • Add enough columns so that the table data "bleeds" past the table UI "bounds"

    Maybe we could:

    • Add scrolling to table?
      • Maybe add vertical scrolling too satisfying the case of many many rows?
        • This case is "satisfied" however scrolling forever isn't a great experience (IMO).
        • Ideally there's some form of "pagination" applied instead of an "infinite" table
    PLANNED 
    opened by justintime4tea 1
  • Tracer monitor textual user interface

    Tracer monitor textual user interface

    Apologies in advance if this is not the right place to post this request. It feels more like a "new project" request then a "feature". Please let me know if I'm "going against the grain" here with how I'm reaching out, thank you.

    Feature/Project "idea" A TUI (text user interface) application which can display the rillrate tracer data in a terminal. Imagine something like nmon.

    The idea here is that you could view the same information that you would from the embedded web server but instead from the comfort of a "terminal" for example over an SSH session.

    This is more of an "epic" than an issue but wanted to bring it up and see if anyone has any feedback and/or existing work that may be related in some way.

    ON-DISCUSSION 
    opened by justintime4tea 1
  • Standalone Server

    Standalone Server

    The first feedback shows that a separate server that supports multiple providers is required.

    Embedded Server + Dashboard are very useful things, but for fast checking and trying the library.

    For prod usage support of multiple connections required. Since it is not easy to maintain many server versions, we are going to release and support a standalone server only and hold the embedded one for a while. As soon as the standalone server becomes fully functional we will detach some parts back to the standalone server and release/embed it again.

    PLANNED 
    opened by DenisKolodin 0
  • Improve UI for Pulse

    Improve UI for Pulse

    Hey, First of all great project! I love how easy it is to use and get up and running. However currently the UI is quite limited in terms of actually showing meaningful data. I mainly need/use the Pulse type: image However it's not very useful to only see some short graph of data without the absolute values so would it be possible to add some gridlines and what the current value is?

    Furthermore is the frontend part opensource? I'd love to help adding these features to get it done quicker :-)

    FEATURE-REQUEST 
    opened by Zagitta 2
Releases(v0.41.0)
Owner
RillRate
Real-time UI for bots, microservices, and IoT
RillRate
Integrate Qml and Rust by building the QMetaObject at compile time.

QMetaObject crate for Rust The qmetaobject crate is a crate which is used to expose rust object to Qt and QML. Objectives Rust procedural macro (custo

Woboq GmbH 495 Jan 3, 2023
Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Deno Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust. Features Secure by default. No file,

Derek Jones 2 Aug 13, 2022
Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS

core-foundation-rs Compatibility Targets macOS 10.7 by default. To enable features added in macOS 10.8, set Cargo feature mac_os_10_8_features. To hav

Servo 685 Jan 2, 2023
Rust bindings and wrappers for GLib, GDK 3, GTK+ 3 and Cairo.

THIS REPOSITORY IS DEPRECATED SEE: https://github.com/rust-gnome rgtk Rust bindings and wrappers for GLib, GDK 3, GTK+ 3 and Cairo. Building rgtk expe

Jeremy Letang 124 Jul 10, 2022
A simple, clean, and beautiful WYSIWYG Markdown editor and content-management system

ScribeDown Current version: v0.0.1 Feature level: See the roadmap Beautiful, Clean, Writer-Oriented The goal of ScribeDown is to make Markdown the bes

Alex Dumas 4 Dec 20, 2022
A collection of components and widgets that are built for bevy_ui and the ECS pattern

Widgets for Bevy UI A collection of components and widgets that are built for bevy_ui and the ECS pattern. Current State This was started recently and

Gabriel Bourgeois 3 Sep 2, 2022
Unofficial Linux QQ client, based on GTK4 and libadwaita, developed with Rust and Relm4.

GTK QQ (WIP) Unofficial Linux QQ client, based on GTK4 and libadwaita, developed with Rust and Relm4. Screenshots Light Dark Note The two screenshots

Lomírus 198 Dec 24, 2022
A powerful color picker and formatter, built with GTK and Rust

Eyedropper A powerful color picker and formatter. More screenshots Features Pick a Color Enter a color in Hex-Format Parse RGBA/ARGB Hex-Colors View c

Jonathan 108 Dec 24, 2022
Build beautiful desktop apps with flutter and rust. 🌠 (wip)

flutter-rs Build flutter desktop app in dart & rust. Get Started Install requirements Rust flutter sdk Develop install the cargo flutter command cargo

null 2k Dec 26, 2022
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

libui: a portable GUI library for C This README is being written. Status It has come to my attention that I have not been particularly clear about how

Pietro Gagliardi 10.4k Dec 31, 2022
OS-native file dialogs on Linux, OS X and Windows

nfd-rs nfd-rs is a Rust binding to the library nativefiledialog, that provides a convenient cross-platform interface to opening file dialogs on Linux,

Saurav Sachidanand 152 Nov 9, 2022
Build smaller, faster, and more secure desktop applications with a web frontend.

TAURI Tauri Apps footprint: minuscule performance: ludicrous flexibility: gymnastic security: hardened Current Releases Component Descrip

Tauri 56.3k Jan 3, 2023
File system enumerator and monitor for Android.

File system enumerator and file monitor for Android. Built to be compatible with other command line utilties! This tool was created to somewhat automa

Kyle Benac 15 Aug 23, 2022
A tiny, neat C library that portably invokes native file open and save dialogs.

Native File Dialog A tiny, neat C library that portably invokes native file open, folder select and save dialogs. Write dialog code once and have it p

Michael Labbe 1.5k Dec 28, 2022
SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript.

SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript.

SixtyFPS 5.5k Jan 1, 2023
AccessKit: UI accessibility infrastructure across platforms and programming languages

AccessKit: UI accessibility infrastructure across platforms and programming languages Motivation There are numerous UI toolkits, and new ones continue

null 490 Jan 3, 2023
A cross-platform GUI library for Rust focused on simplicity and type-safety

A cross-platform GUI library for Rust, inspired by Elm

Héctor Ramón 17.5k Jan 8, 2023
ZeroTier Desktop Tray Application and UI

ZeroTier Desktop Tray Application and User Interface This is (as of ZeroTier 1.8) the system tray application and user interface for controlling a loc

ZeroTier, Inc. 102 Dec 20, 2022
A react-inspired UI library for building multimedia desktop apps with rust and vulkan.

narui A react-inspired UI library for building multimedia desktop apps with rust and vulkan. declarative UI with Ergonomics similar to React with hook

apertus° - open source cinema 42 Jan 1, 2023