Skip to content

Commit f6178e2

Browse files
committed
Update README.md
1 parent 830fe64 commit f6178e2

File tree

1 file changed

+81
-46
lines changed

1 file changed

+81
-46
lines changed

README.md

Lines changed: 81 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Visualize real time plots of your Go program runtime metrics, including heap, ob
2525
- [How Does That Work?](#how-does-that-work)
2626
- [Documentation](#documentation)
2727
- [Go API](#go-api)
28-
- [User interface](#user-interface)
28+
- [Web User Interface](#web-user-interface)
2929
- [Plots](#plots)
3030
- [User Plots](#user-plots)
3131
- [Examples](#examples)
@@ -98,95 +98,130 @@ Data points are in a browser-side circular-buffer.
9898

9999
Check out the API reference on [pkg.go.dev](https://pkg.go.dev/github.com/arl/statsviz#section-documentation).
100100

101-
### User interface
101+
### Web User Interface
102102

103-
Controls at the top of the page act on all plots:
104103

105-
<img alt="menu" src="https://github.com/arl/statsviz/raw/readme-docs/menu-002.png">
104+
#### Top Bar
106105

107-
- the groom shows/hides the vertical lines representing garbage collections.
108-
- the time range selector defines the visualized time span.
109-
- the play/pause icons stops and resume the refresh of the plots.
110-
- the light/dark selector switches between light and dark modes.
106+
<img alt="webui-annotated" src="https://github.com/arl/statsviz/raw/readme-docs/webui-annotated.png">
111107

112-
On top of each plot there are 2 icons:
108+
##### Category Selector
113109

114-
<img alt="menu" src="https://github.com/arl/statsviz/raw/readme-docs/plot.menu-001.png">
110+
<img alt="menu-categories" src="https://github.com/arl/statsviz/raw/readme-docs/menu-categories.png">
111+
112+
Each plot belongs to one or more categories. The category selector allows you to filter the visible plots by categories.
113+
114+
##### Visible Time Range
115+
116+
<img alt="menu-timerange" src="https://github.com/arl/statsviz/raw/readme-docs/menu-timerange.png">
117+
118+
Use the time range selector to define the visualized time span.
119+
120+
##### Show/Hide GC events
121+
122+
<img alt="menu-gc-events" src="https://github.com/arl/statsviz/raw/readme-docs/menu-gc-events.png">
123+
124+
Show or hide the vertical lines representing garbage collection events.
125+
126+
##### Pause updates
127+
128+
<img alt="menu-play" src="https://github.com/arl/statsviz/raw/readme-docs/menu-play.png">
129+
130+
Pause or resume the plot updates.
131+
132+
133+
#### Plot Controls
134+
135+
<img alt="webui-annotated" src="https://github.com/arl/statsviz/raw/readme-docs/plot-controls-annotated.png">
115136

116-
- the camera downloads a PNG image of the plot.
117-
- the info icon shows details about the metrics displayed.
118137

119138
### Plots
120139

121-
Depending on your go version, some plots may not be available.
140+
The visible set of plots depend on your Go version since some plots are only available in newer versions.
122141

123-
#### Heap (global)
142+
#### Allocation and Free Rate
124143

125-
<img width="50%" alt="heap-global" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/heap-global.png">
144+
<img width="50%" alt="alloc-free-rate" src="https://github.com/arl/statsviz/raw/readme-docs/plots/alloc-free-rate.png">
126145

127-
#### Heap (details)
146+
#### CGO Calls
128147

129-
<img width="50%" alt="heap-details" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/heap-details.png">
148+
<img width="50%" alt="cgo" src="https://github.com/arl/statsviz/raw/readme-docs/plots/cgo.png">
130149

131-
#### Live Objects in Heap
150+
#### CPU (GC)
132151

133-
<img width="50%" alt="live-objects" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/live-objects.png">
152+
<img width="50%" alt="cpu-gc" src="https://github.com/arl/statsviz/raw/readme-docs/plots/cpu-gc.png">
134153

135-
#### Live Bytes in Heap
154+
#### CPU (Overall)
136155

137-
<img width="50%" alt="live-bytes" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/live-bytes.png">
156+
<img width="50%" alt="cpu-overall" src="https://github.com/arl/statsviz/raw/readme-docs/plots/cpu-overall.png">
138157

139-
#### MSpan/MCache
158+
#### CPU (Scavenger)
140159

141-
<img width="50%" alt="mspan-mcache" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/mspan-mcache.png">
160+
<img width="50%" alt="cpu-scavenger" src="https://github.com/arl/statsviz/raw/readme-docs/plots/cpu-scavenger.png">
142161

143-
#### Memory classes
162+
#### Garbage Collection
144163

145-
<img width="50%" alt="memory-classes" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/memory-classes.png">
164+
<img width="50%" alt="garbage-collection" src="https://github.com/arl/statsviz/raw/readme-docs/plots/garbage collection.png">
146165

147-
#### Goroutines
166+
#### GC Cycles
148167

149-
<img width="50%" alt="goroutines" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/goroutines.png">
168+
<img width="50%" alt="gc-cycles" src="https://github.com/arl/statsviz/raw/readme-docs/plots/gc-cycles.png">
150169

151-
#### Size Classes
170+
#### GC Pauses
152171

153-
<img width="50%" alt="size-classes" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/size-classes.png">
172+
<img width="50%" alt="gc-pauses" src="https://github.com/arl/statsviz/raw/readme-docs/plots/gc-pauses.png">
154173

155174
#### GC Scan
156175

157-
<img width="50%" alt="gc-scan" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/gc-scan.png">
176+
<img width="50%" alt="gc-scan" src="https://github.com/arl/statsviz/raw/readme-docs/plots/gc-scan.png">
158177

159-
#### GC Cycles
178+
#### GC Stack Size
179+
180+
<img width="50%" alt="gc-stack-size" src="https://github.com/arl/statsviz/raw/readme-docs/plots/gc-stack-size.png">
160181

161-
<img width="50%" alt="gc-cycles" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/gc-cycles.png">
182+
#### Goroutines
183+
184+
<img width="50%" alt="goroutines" src="https://github.com/arl/statsviz/raw/readme-docs/plots/goroutines.png">
162185

163-
#### Stop-the-world Pause Latencies
186+
#### Heap (Details)
164187

165-
<img width="50%" alt="gc-pauses" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/gc-pauses.png">
188+
<img width="50%" alt="heap-details" src="https://github.com/arl/statsviz/raw/readme-docs/plots/heap (details).png">
166189

167-
#### CPU Classes (GC)
190+
#### Live Bytes
168191

169-
<img width="50%" alt="cpu-classes-gc" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/cpu-classes-gc.png">
192+
<img width="50%" alt="live-bytes" src="https://github.com/arl/statsviz/raw/readme-docs/plots/live-bytes.png">
170193

171-
#### Time Goroutines Spend in 'Runnable' state
194+
#### Live Objects
172195

173-
<img width="50%" alt="runnable-time" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/runnable-time.png">
196+
<img width="50%" alt="live-objects" src="https://github.com/arl/statsviz/raw/readme-docs/plots/live-objects.png">
174197

175-
#### Time Goroutines Spend Blocked on Mutexes
198+
#### Memory Classes
176199

177-
<img width="50%" alt="mutex-wait" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/mutex-wait.png">
200+
<img width="50%" alt="memory-classes" src="https://github.com/arl/statsviz/raw/readme-docs/plots/memory-classes.png">
178201

179-
#### Starting Size of Goroutines Stacks
202+
#### MSpan/MCache
180203

181-
<img width="50%" alt="gc-stack-size" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/gc-stack-size.png">
204+
<img width="50%" alt="mspan-mcache" src="https://github.com/arl/statsviz/raw/readme-docs/plots/mspan-mcache.png">
182205

183-
#### Goroutine Scheduling Events
206+
#### Mutex Wait
184207

185-
<img width="50%" alt="sched-events" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/sched-events.png">
208+
<img width="50%" alt="mutex-wait" src="https://github.com/arl/statsviz/raw/readme-docs/plots/mutex-wait.png">
186209

187-
#### CGO Calls
210+
#### Runnable Time
211+
212+
<img width="50%" alt="runnable-time" src="https://github.com/arl/statsviz/raw/readme-docs/plots/runnable-time.png">
213+
214+
#### Scheduling Events
215+
216+
<img width="50%" alt="sched-events" src="https://github.com/arl/statsviz/raw/readme-docs/plots/sched-events.png">
217+
218+
#### Size Classes
219+
220+
<img width="50%" alt="size-classes" src="https://github.com/arl/statsviz/raw/readme-docs/plots/size-classes.png">
221+
222+
#### GC Pauses
188223

189-
<img width="50%" alt="cgo" src="https://github.com/arl/statsviz/raw/readme-docs/runtime-metrics/cgo.png">
224+
<img width="50%" alt="gc-pauses" src="https://github.com/arl/statsviz/raw/readme-docs/plots/gc-pauses.png">
190225

191226

192227
### User Plots

0 commit comments

Comments
 (0)