ad12ef9ecb
Summary: From release notes: Ractor v0.12.4 is released! In this release there are 2 primary changes 1. We're adding the ability to runtime inspect the message type of an untyped `ActorCell` which can be helpful for supervision flows 2. We're also adding helpers for interacting with a supervisor's children (retrieval of the children, stopping them, and draining them) without having to have the supervisor keep additional handles around Both are in #277 Tokio is being upgraded to add support for `join_all()` in `JoinSet` which `ractor` leverages (easier to upgrade than backport a hack into ractor) Reviewed By: Imxset21 Differential Revision: D64833735 fbshipit-source-id: 897302bf95467310131348f1ee8c1f766e81f725 |
||
---|---|---|
.. | ||
chrome-trace | ||
strace | ||
Cargo.toml | ||
chaos.rs | ||
chunky_print.rs | ||
counter1.rs | ||
counter2.rs | ||
debug.rs | ||
noop.rs | ||
README.md | ||
strace_minimal.rs |
Examples
Example tools built on top of Reverie.
Copying one of these examples is the recommended way to get started using Reverie.
chrome-trace: Generates a chrome trace file
This tool is like strace
, but generates a trace file that can be loaded in
chrome://tracing/
.
counter1: Reverie Counter Tool (1)
This is a basic example of event counting. It counts the number of system calls and reports that single integer at exit.
This version of tool uses a single, centralized piece of global state.
counter2: Reverie Counter Tool (2)
This is a basic example of event counting. This tool counts the number of system calls and reports that single integer at exit.
This implementation of the tool uses a distributed notion of state, maintaining a per-thread, per-process, and global state. Basically, this is an example of "MapReduce" style tracing of a process tree.
noop: Identity Function Tool
This instrumentation tool intercepts events but does nothing with them. It is useful for observing the overhead of interception, and as a starting point.
chunky_print: Print-gating Tool
This example tool intercepts write events on stdout and stderr and manipulates either when those outputs are released, or the scheduling order that determines the order of printed output.
strace: Reverie Echo Tool
This instrumentation tool simply echos intercepted events, like strace.
chaos: Chaos Tool
This tool is meant to emulate a pathological kernel where:
read
andrecvfrom
calls return only one byte at a time. This is intended to catch errors in parsers that assume multiple bytes will be returned at a time.EINTR
is returned instead of running the real syscall for every other read.