Skip to content

A RPC-based client-server system status tools, with Rust + Electron architecture.

Notifications You must be signed in to change notification settings

muskanmahajan37/stadal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stadal

A RPC-based client-server system status tools, with Rust + Electron architecture.

Stadal Screenshots

Architecture (design)

  • RPC Server, (Using Rust) for read system status.
  • RPC Client, (Using Rust to Node.js) for communication.
  • UI Client, (Using Electron) for cross platform UI support.

Node.js

  • neon Rust bindings for writing safe and fast native Node.js modules.

RPC

  • tarpc is an RPC framework for rust with a focus on ease of use. Defining a service can be done in just a few lines of code, and most of the boilerplate of writing a server is taken care of for you.
  • gRPC-rs is a Rust wrapper of gRPC Core. gRPC is a high performance, open source universal RPC framework that puts mobile and HTTP/2 first.

Refs:

  • Xi Editor project is an attempt to build a high quality text editor, using modern software engineering techniques.
  • Tray Electrorn An example app for building a native-looking Mac OS X tray app with a popover using Electron.

Stats Demo App:

  • bottom A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows. Inspired by both gtop and gotop.
  • Zenith In terminal graphical metrics for your *nix system written in Rust.

Dev Setup:

System

  • bandwhich is a CLI utility for displaying current network utilization by process, connection and remote IP/hostname.
  • https://github.com/tbillington/kondo - Save disk space by cleaning non-essential files from software projects.

Documents

Library:

  • heim is an ongoing attempt to create the best tool for system information fetching (ex., CPU, memory, disks or processes stats) in the Rust crates ecosystem.

Status library comparison

Notes

requests

{"method":"client_started","params":{}}
{"method":"client_started","params":{}}
{"method":"send_memory","params":{}}
{"method":"client_started","params":{}}
{"method":"send_host","params":{}}
{"method":"send_memory","params":{}}
{"method":"send_languages","params":{}}
{"method":"send_sizes","params":{}}

Development

  • core-lib, Stadal Core
  • gui, Electron UI
  • rpc, Stadal Core RPC
  • src, Stadal App
  • client, deprecated for Rust RPC Client
  • stadaljs, deprecated for Rust PRC Client Node.js Binding
  • xrl, deprecated for Rust RPC Client
  • trace, for Rust RPC Server

LICENSE

RPC based on xi-editor with Apache 2.0 & Inspired by xi-term

About

A RPC-based client-server system status tools, with Rust + Electron architecture.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 85.5%
  • TypeScript 12.9%
  • HTML 1.4%
  • CSS 0.2%