gosora/templates/panel_debug.html
Azareal b9973719a5 Added a small reply cache.
Preloaded a small number of users and topics.
Use cache.Set instead of cache.Add in a few spots for topics to avoid issues with the counter falling out of sync with the cache length.
Embed Reply in ReplyUser instead of duplicating the same fields.
Add the missing AttachCount and ActionType fields to Reply.
Add the missing Poll field to TopicsRow.
Added the TopicUser.Replies method to better abstract the reply list generation logic.
Shortened some common.s to c.s
Moved memStuff out of the analytics memory panes and into analytics.js
Removed the temporary preStats fix for label overflow now that we have a better solution.
Added the panel_analytics_script_memory template to help de-dupe logic in the analytics memory panes.
Added the Topic method to TopicsRow.
Added the GetRidsForTopic method to help cache replies in a small set of scenarios.

Added the ReplyCache config.json setting.
Added the ReplyCacheCapacity config.json setting.

Added a parser test case.
Added more Reply and ReplyStore related test cases.
2019-05-17 18:40:41 +10:00

92 lines
5.0 KiB
HTML

<div class="colstack_item colstack_head">
<div class="rowitem"><h1>{{lang "panel_debug_head"}}</h1></div>
</div>
<div id="panel_debug" class="colstack_grid">
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_uptime_label"}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_go_version_label"}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_database_version_label"}}</span></div>
<div class="grid_item grid_stat"><span>{{.Uptime}}</span></div>
<div class="grid_item grid_stat"><span>{{.GoVersion}}</span></div>
<div class="grid_item grid_stat"><span>{{.DBVersion}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_open_database_connections_label"}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_adapter_label"}}</span></div>
{{/** TODO: Use this for active database connections when Go 1.11 lands **/}}
<div class="grid_item grid_stat grid_stat_head"><span>???</span></div>
<div class="grid_item grid_stat"><span>{{.OpenConns}}</span></div>
<div class="grid_item grid_stat"><span>{{.DBAdapter}}</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_goroutine_count_label"}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>{{lang "panel_debug_cpu_count_label"}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>???</span></div>
<div class="grid_item grid_stat"><span>{{.Goroutines}}</span></div>
<div class="grid_item grid_stat"><span>{{.CPUs}}</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
</div>
<div class="colstack_item colstack_head colstack_sub_head">
<div class="rowitem"><h2>Memory Statistics</h2></div>
</div>
<div id="panel_debug" class="colstack_grid">
<div class="grid_item grid_stat grid_stat_head"><span>Sys</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>HeapSys</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>HeapAlloc</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.Sys}} ({{bunit .MemStats.Sys}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.HeapSys}} ({{bunit .MemStats.HeapSys}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.HeapAlloc}} ({{bunit .MemStats.HeapAlloc}})</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>HeapIdle</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>HeapObjects</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>StackInuse</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.HeapIdle}} ({{bunit .MemStats.HeapIdle}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.HeapObjects}}</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.StackInuse}} ({{bunit .MemStats.StackInuse}})</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>MSpanInuse</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>MCacheInuse</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>MSpanSys</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.MSpanInuse}} ({{bunit .MemStats.MSpanInuse}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.MCacheInuse}} ({{bunit .MemStats.MCacheInuse}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.MSpanSys}} ({{bunit .MemStats.MSpanSys}})</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>MCacheSys</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>GCSys</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>OtherSys</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.MCacheSys}} ({{bunit .MemStats.MCacheSys}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.GCSys}} ({{bunit .MemStats.GCSys}})</span></div>
<div class="grid_item grid_stat"><span>{{.MemStats.OtherSys}} ({{bunit .MemStats.OtherSys}})</span></div>
</div>
<div class="colstack_item colstack_head colstack_sub_head">
<div class="rowitem"><h2>Caches</h2></div>
</div>
<div id="panel_debug" class="colstack_grid">
<div class="grid_item grid_stat grid_stat_head"><span>Topic Cache</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>User Cache</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Reply Cache</span></div>
<div class="grid_item grid_stat"><span>{{.TCache}}</span></div>
<div class="grid_item grid_stat"><span>{{.UCache}}</span></div>
<div class="grid_item grid_stat"><span>{{.RCache}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Topic List</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>???</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>???</span></div>
<div class="grid_item grid_stat"><span>{{if .TopicListThaw}}Thawed{{else}}Sleeping{{end}}</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
</div>