gosora/templates/panel_debug.html
Azareal a5441f18de More conversations progress, still not usable yet.
Flush the debug page incrementally.
Eliminate a tiny bit of code in PreparseMessage.
Shorten some of the pointer capture variables in the poll store.
Tweak the advanced installation instructions for EasyJSON to make it more repeatable.

Added the ConvoKey config setting.
Added /.git/ disk usage to the debug page, if it exists.
Added a UserStore.BulkGetMap multi-user test.
2019-06-16 16:30:58 +10:00

188 lines
9.9 KiB
HTML

<div class="colstack_item colstack_head">
<div class="rowitem"><h1>{{lang "panel_debug_head"}}</h1></div>
</div>{{flush}}
<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>{{flush}}
<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>{{.Cache.Topics}} / {{.Cache.TCap}}</span></div>
<div class="grid_item grid_stat"><span>{{.Cache.Users}} / {{.Cache.UCap}}</span></div>
<div class="grid_item grid_stat"><span>{{.Cache.Replies}} / {{.Cache.RCap}}</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 .Cache.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>
<div class="colstack_item colstack_head colstack_sub_head">
<div class="rowitem"><h2>Database</h2></div>
</div>{{flush}}
<div id="panel_debug" class="colstack_grid">
<div class="grid_item grid_stat grid_stat_head"><span>Topics</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Users</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Replies</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Topics}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Users}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Replies}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Profile Replies</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Activity Stream</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Likes</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ProfileReplies}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ActivityStream}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Likes}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Attachments</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Polls</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>???</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Attachments}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Polls}}</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Login Logs</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Reg Logs</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Mod Logs</span></div>
<div class="grid_item grid_stat"><span>{{.Database.LoginLogs}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.RegLogs}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ModLogs}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Admin Logs</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>{{.Database.AdminLogs}}</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
<div class="grid_item grid_stat"><span>?</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Views</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Views Agents</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Views Forums</span></div>
<div class="grid_item grid_stat"><span>{{.Database.Views}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ViewsAgents}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ViewsForums}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Views Langs</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Views Referrers</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Views Systems</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ViewsLangs}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ViewsReferrers}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.ViewsSystems}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Post Analytics</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Topic Analytics</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>???</span></div>
<div class="grid_item grid_stat"><span>{{.Database.PostChunks}}</span></div>
<div class="grid_item grid_stat"><span>{{.Database.TopicChunks}}</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>Disk</h2></div>
</div>{{flush}}
<div id="panel_debug" class="colstack_grid">
<div class="grid_item grid_stat grid_stat_head"><span>Static Files</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Attachments</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Avatars</span></div>
<div class="grid_item grid_stat"><span>{{bunit .Disk.Static}}</span></div>
<div class="grid_item grid_stat"><span>{{bunit .Disk.Attachments}}</span></div>
<div class="grid_item grid_stat"><span>{{bunit .Disk.Avatars}}</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Log Files</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Backups</span></div>
<div class="grid_item grid_stat grid_stat_head"><span>Git</span></div>
<div class="grid_item grid_stat"><span>{{bunit .Disk.Logs}}</span></div>
<div class="grid_item grid_stat"><span>{{bunit .Disk.Backups}}</span></div>
<div class="grid_item grid_stat"><span>{{bunit .Disk.Git}}</span></div>
</div>