Wayseer

User guideWayseer 0.28.3Contents

The first ten minutes

This walk through the demo world covers the moves you will use every day: finding something hot, reading what happened, narrowing the view, keeping your place, asking a question, finding what is full, and putting two things side by side. Open it with:

wayseer --demo

--demo is new in 0.28.1; with an earlier one, see the demo world. The tour of the keys shows first; Esc ends it.

The demo is a made-up company: 400 hosts in three data centers, 120 services, their databases, queues and containers. It replays a recording, timed so that its last moment is when the app starts: the recent past looks as it would live. About ten hours before that, a deploy of payments-api went wrong.

1. Look around

The window opens on Topology, a map of every entity, 1931 of them, grouped by kind. The status bar along the bottom counts them. Healthy entities are quiet, and the few in trouble glow warm or bright.

Drag to pan, and use the wheel to zoom. The hints along the bottom name the keys, and change with the lens to those that act in it. F1 hides them.

The first time the app starts with a config of its own, a short tour of the keys shows five cards in turn: moving around, the lenses, finding things, time, and asking. Each card moves on when you try one of its keys, or press Enter; Esc ends the tour. The demo does not start it, but Shift+F1 shows it any time. The status line says once that your use is under Wayseer's end-user license.

2. Find the hot host

Press 3 for Grid, which shows one tile per entity, colored by a metric. Press Ctrl+K to open the palette, which finds entities by name. A line that starts with > runs a command instead; type:

>grid.show metric=cpu.utilisation kind=host

Press Enter. The header reads cpu.utilisation · 400 hosts · hottest first. The time bar's right end reads 15m ● live: the last fifteen minutes, following the clock. Press Ctrl+T then 2 to look at the last hour instead, and it reads 1h ● live.

The first tile, top left, is the hottest host over that hour: iad1-app-126. Click it to focus it. A card shows its attributes: its cluster iad1, 32 cores, debian-12. Press Enter to open it in Detail, which shows its metrics over the window (cpu.utilisation about 67%), its events, its attributes, and its neighbors: its cluster and its two disks.

Press Esc to close Detail.

3. Read the incident

Press Ctrl+K, type payments-api, and press Enter to focus it. Press 2 for Timeline, which gives each entity a lane of its events and a line of its main metric. The focus and its neighbors get lanes. Press Ctrl+T then 4 to show the last day (1d ● live).

The lane's right end is now. The payments-api lane has five marks, its only ones, from about ten to eight hours back; the times along the top help to count. First comes a dot for the deploy, then a red square: the alert and the incident opening, four minutes apart, so they overlap at this zoom. About an hour later come two more dots, the rollback and the resolution. Rest the pointer on a mark to see what it was. If you miss, nothing is lost: Detail lists them all. Press Enter to open payments-api in Detail: it is crit, p95 latency above 1 s, and its events tell the story, newest first:

incident resolved: p95 latency back under 300 ms
rolled back to 3.7.2
incident opened: checkout payments slow
p95 latency above 1 s
deployed 3.8.0

payments-worker, payments-cron and the growth team's catalog-api depend on it, and they warn upstream payments-api degraded. Press Esc to go back to the Timeline.

4. Narrow the view

Press / to edit the filter, type team=payments, and press Enter. Every lens now shows only what the payments team owns. The status bar says filter team=payments · 15 of 1931 entities. The filter syntax is in palette and filter.

5. Keep your place

Save where you are, with the lens, focus, filter and time window:

>place.save name=incident

Now go elsewhere. Esc unfocuses, Esc again clears the filter, and 1 returns to Topology. To come back, press Ctrl+K, type @incident, and press Enter: the Timeline, payments-api focused, the filter and the last day return. Backspace steps back through the places you have been, like a browser (time and bookmarks). To give a teammate your bookmarks, >place.export file=~/team.yaml writes them to a file they can import (sharing bookmarks).

6. Ask

Press ? and type a question:

? which hosts were busiest in the last hour

The demo config has no language model, so the palette answers Ask: set up a provider in config (nl:). To try it, set up a provider in your own config as language model describes.

The model answers by moving the view to show the answer, such as Grid on cpu.utilisation, with a short account in the narration panel (Ctrl+J). Only what the view shows is sent.

7. Find what is full

Press Esc until the palette, the focus and the filter are gone, then 6 for Treemap. It opens on the number the most entities share, here the disks' size_bytes: 800 tiles, each as large as its disk, with a bar along its foot showing used_bytes, how much is in use. One tile has a red edge and a red mark: nvme1n1, 97% full. Every host has disks of that name, so rest the pointer on it: its card says it is in ams1-app-046, the host's data disk. Seven more are amber, at 91%. Click a tile to focus it. m steps to the next number that adds up: used_bytes, then the services' request rate, http.requests, by team.

8. Put two side by side

Press Ctrl+T then 2 for the last hour, then Ctrl+K, type compare iad1-app-126 and iad1-app-125, and press Enter. Compare shows the hot host beside a quieter one, and the hot host is now the focus. Each metric's newest value and sparkline are on either side, and the difference between them in the middle, right less left. Below, the attributes that differ are marked ≠: the hot host has twice the cores and memory.

Press C to compare the focus, iad1-app-126, with itself over the hour before. Then Ctrl+K, compare with yesterday and Enter put the same hour a day earlier on the right: the demo records two days, so both sides have samples. x swaps the sides and Esc closes Compare (lenses).

9. See where things are

Press 8. Geo shows the estate on a world map: one disc for each of the demo's three cities, Amsterdam, Ashburn and Singapore, each with how many entities it holds. The demo config names those cities under places, the clusters' city attributes name them, and each host takes its cluster's place. Services have no place, and the header counts them. A city with something at warn or worse is drawn in that color, with its status mark beside it.

Rest the pointer on a city to count what is there by status and kind, and click it to zoom in until its entities spread apart. Press 0 for the whole map again. Then Ctrl+K, type iad1-app-126 and press Enter: Geo flies to Ashburn, where the hot host is (lenses).

Next

  • Point it at your own systems: configuration, then a module's page, such as this machine or Prometheus.
  • Learn the lenses properly: lenses.
  • Every key: keys.
  • On live systems, catch up on what changed while you looked elsewhere: the status bar's news and w (what changed). The demo's recording ends when the app starts, so nothing changes in it.