@@ -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
9999Check 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