process (Wayseer)
ok
- Attributes
pidgo_versionversionstarted
User guideWayseer 0.28.3Contents
The internal module shows Wayseer's own health: how fast it draws, how much memory it holds, its event bus, the state of every other module, and its log. It is in the default config, and it always has something to show, so a new config is never empty.
modules:
- kind: internal
name: wayseer
The options below go under options.
| Option | Type | Default | Meaning |
|---|---|---|---|
interval | duration | 1s | How often Wayseer samples itself. |
history | duration | 1h | How far back series are kept, 10 intervals to 24h. |
process (Wayseer)
ok
pidgo_versionversionstartedwayseer/bus
ok
topicswayseer/module
ok when live; warn with no recent data; crit with the module's error; down when disconnected
kindfreshnessnoteEach module and the bus runs on Wayseer. A module's entity is the quickest way to see why a source shows nothing: its status reason is the module's last error. note holds what the module reports without failing, such as a machine without systemd.
Each line of its log becomes an event, at the line's level, in Stream and on the Timeline. So does the outcome of each action, on the entity it was for, of kind action; a failed one is a warning.
| Metric | Unit | Kinds | Meaning |
|---|---|---|---|
frame.time | seconds | process | Mean time to draw a frame; no point while nothing is drawn. |
frame.time_max | seconds | process | Slowest frame. |
memory.heap | bytes | process | Live heap objects. |
memory.runtime | bytes | process | All memory the Go runtime holds, which memory.limit bounds. |
memory.limit | bytes | process | The config's memory_limit, past which the GC works harder. |
runtime.goroutines | count | process | Live goroutines. |
bus.published | per_second | wayseer/ | Events published on every topic. |
bus.dropped | per_second | wayseer/ | Events a full subscriber missed. |
log.missed | per_second | process | Log lines overwritten in the ring before they became events. |
frame.rate.input | per_second | process | Frames drawn for a key, the pointer, the window, or a reply to them. |
frame.rate.animation | per_second | process | Frames drawn while something moves. |
frame.rate.world | per_second | process | Frames drawn because a module changed the world. |
frame.rate.series | per_second | process | Frames drawn because series or events arrived. |
frame.rate.live | per_second | process | Frames drawn to move a live time bar on. |
frame.rate.desktop | per_second | process | Frames drawn because the desktop's look changed. |
F3 also shows frame times on screen (keys), and beneath them why frames were drawn, a second at a time: input, animation, world, series, live or desktop. The frame.rate metrics count the same. Wayseer draws only when something changes, so an idle window draws when a module updates and, with a live time window, as the time bar moves on: about twice a second for 15 minutes, and never more than four times. A degraded entity's glow breathing in Topology draws 30 frames a second.