1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| {% import ( "runtime"
"{{{ .Package }}}/app" "{{{ .Package }}}/app/controller/cutil" "{{{ .Package }}}/app/util" "{{{ .Package }}}/views/components" "{{{ .Package }}}/views/components/view" "{{{ .Package }}}/views/layout" ) %}
{% code type MemUsage struct { layout.Basic Mem *runtime.MemStats } %}
{% func (p *MemUsage) Body(as *app.State, ps *cutil.PageState) %} <div class="card"> <h3>{%= components.SVGIcon(`desktop`, ps) %} Memory Usage</h3> <table class="mt min-200 expanded"> <tbody> <tr> <th class="shrink">Total Allocations</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.TotalAlloc))) %}</td> </tr> <tr> <th class="shrink">System Memory</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.Sys))) %}</td> </tr> <tr> <th class="shrink">Heap Allocated</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.HeapAlloc))) %}</td> </tr> <tr> <th class="shrink">Heap System</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.HeapSys))) %}</td> </tr> <tr> <th class="shrink">Heap Idle</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.HeapIdle))) %}</td> </tr> <tr> <th class="shrink">Heap In Use</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.HeapInuse))) %}</td> </tr> <tr> <th class="shrink">Heap Released</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.HeapReleased))) %}</td> </tr> <tr> <th class="shrink">Heap Objects</th> <td>{%= view.Int(p.Mem.HeapObjects) %}</td> </tr> <tr> <th class="shrink">Stack In Use</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.StackInuse))) %}</td> </tr> <tr> <th class="shrink">Stack System</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.StackSys))) %}</td> </tr> <tr> <th class="shrink">GC Count</th> <td>{%= view.Int(p.Mem.NumGC) %}</td> </tr> <tr> <th class="shrink">GC CPU Percentage</th> <td>{%= view.Percent(p.Mem.GCCPUFraction*100) %}</td> </tr> <tr> <th class="shrink">Next GC Target Heap Size</th> <td>{%= view.String(util.ByteSizeSI(int64(p.Mem.NextGC))) %}</td> </tr> <tr> <th class="shrink">Last GC (ns)</th> <td>{%= view.Int(p.Mem.LastGC) %}</td> </tr> </tbody> </table> </div> {% endfunc %}
|