Tokio Console

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • console

    a debugger for async rust! (by tokio-rs)

  • Yes, we've designed the overall architecture of the system to be modular so that the telemetry can be consumed by a number of different UIs --- we'd love to see someone write web interfaces and/or native GUIs for the console data. I have basically no web development experience whatsoever, though, so I went with the terminal app, because not having to learn JavaScript first made it a lot easier to get started :)

    We're also thinking about factoring out the Tokio Console command-line application's internal data model and client code into its own library (https://github.com/tokio-rs/console/issues/227) to make it easier to build other UIs on top of that.

  • pprof

    pprof is a tool for visualization and analysis of profiling data

  • Go also has pretty good out of the box profiling (pprof[0]) and third-party runtime debugging (delv[1]) that can be used both remotely and local.

    These tools also have decent editor integration and can be use hand in hand:

    https://blog.jetbrains.com/go/2019/04/03/profiling-go-applic...

    https://blog.jetbrains.com/go/2020/03/03/how-to-find-gorouti...

    [0] https://github.com/google/pprof

    [1] https://github.com/go-delve/delve

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

  • Looks like they have added a builder for tokio::task[1] that will allow you to set a name. It's unstable at the moment so you would need to set the tokio_unstable cfg flag.

    [1]: https://github.com/tokio-rs/tokio/blob/master/tokio/src/task...

  • mirage

    MirageOS is a library operating system that constructs unikernels

  • Unikernels are a thing e.g. https://mirage.io. AFIACT uptake has been ... slow. You give up a lot to erase most or all of your OS, and only the most performance sensitive applications realize a benefit

  • tracing

    Application level tracing for Rust.

  • Yeah, the goal is for `valuable` to replace `tracing`'s (currently much more limited) `Value` trait entirely, when we release `tracing` 0.2. Before making a breaking change, though, we want to release opt-in support for `valuable` in the current v0.1.x `tracing` ecosystem, so people can start trying it out and we can figure out if there's anything missing.

    You can follow the progress of that here: https://github.com/tokio-rs/tracing/pull/1608

    I believe it's currently just waiting for a crates.io release of `valuable`!

  • evcxr

  • hsluv

    Human-friendly HSL, website and math

  • I'm a little bit of a color freak. Allow me to leave some suggestions :)

    - Picking from the 256 color pallete will likely give you colors with different brightness. This may hurt readability of darker colors on a dark background, and may make some color stand out unintentionally. Consider using something like HSLuv [1] to pick colors with the same lightness, then convert to the closest Xterm color [2].

    - To make it obvious there is a gradient, I'd pick one lightness (assuming HSLuv) and one saturation (I usually stick to 100%), then pick a distance in hue for each step. For example if I expect to see a maximum of 7 steps on the screen at once, one way is to start at 0, then 30, then 60, etc. You may choose to go over 180, but keep in mind 360 will be the same as 0 so maybe stop at 240. Note how by picking adjacent colors from the table you are still picking a distance, but the distance is too small so it's hard to see.

    - You may want to choose a different starting point than 0, and maybe different direction for the steps, depending on whether you want the colors to "mean" anything. For example red is commonly associated with warning, so you can arrange to have the top of the range aligned with red. Or arrange to avoid the red region if you don't want that association.

    [1] https://www.hsluv.org/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • ferros

    A Rust-based userland which also adds compile-time assurances to seL4 development.

  • That's basically what we did with https://github.com/auxoncorp/ferros, Bundle Rust programs together as tasks to run atop the formally verified seL4 microkernel.

  • delve

    Delve is a debugger for the Go programming language.

  • Go also has pretty good out of the box profiling (pprof[0]) and third-party runtime debugging (delv[1]) that can be used both remotely and local.

    These tools also have decent editor integration and can be use hand in hand:

    https://blog.jetbrains.com/go/2019/04/03/profiling-go-applic...

    https://blog.jetbrains.com/go/2020/03/03/how-to-find-gorouti...

    [0] https://github.com/google/pprof

    [1] https://github.com/go-delve/delve

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts