{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin monitor")}}<div class="admin-setting-content"> <div class="tw-flex tw-items-center"> <div class="tw-flex-1"> <div class="ui compact small menu"> <a class="{{if eq .ShowGoroutineList "process"}}active {{end}}item" href="?show=process">{{ctx.Locale.Tr "admin.monitor.process"}}</a> <a class="{{if eq .ShowGoroutineList "stacktrace"}}active {{end}}item" href="?show=stacktrace">{{ctx.Locale.Tr "admin.monitor.stacktrace"}}</a> </div> </div> <form target="_blank" action="{{AppSubUrl}}/admin/monitor/diagnosis" class="ui form tw-flex tw-gap-3"> <label class="tw-flex tw-gap-2 tw-items-center tw-whitespace-nowrap"> {{ctx.Locale.Tr "admin.monitor.duration"}} <input type="number" name="seconds" max="300" min="0" value="10"> </label> <button class="ui primary small button">{{ctx.Locale.Tr "admin.monitor.download_diagnosis_report"}}</button> </form> </div> <div class="divider"></div> <h4 class="ui top attached header"> {{printf "%d Goroutines" .GoroutineCount}}{{/* Goroutine is non-translatable*/}} {{- if .ProcessCount -}}, {{ctx.Locale.Tr "admin.monitor.processes_count" .ProcessCount}}{{- end -}} </h4> {{if .ProcessStacks}} <div class="ui attached segment"> <div class="ui relaxed divided list"> {{range .ProcessStacks}} {{template "admin/stacktrace-row" dict "Process" . "root" $}} {{end}} </div> </div> {{end}}</div> <div class="ui g-modal-confirm delete modal"> <div class="header"> {{ctx.Locale.Tr "admin.monitor.process.cancel"}} </div> <div class="content"> <p>{{ctx.Locale.Tr "admin.monitor.process.cancel_notices" (`<span class="name"></span>`|SafeHTML)}}</p> <p>{{ctx.Locale.Tr "admin.monitor.process.cancel_desc"}}</p> </div> {{template "base/modal_actions_confirm" .}}</div> {{template "admin/layout_footer" .}}
{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin monitor")}}
<div class="admin-setting-content">
<div class="tw-flex tw-items-center">
<div class="tw-flex-1">
<div class="ui compact small menu">
<a class="{{if eq .ShowGoroutineList "process"}}active {{end}}item" href="?show=process">{{ctx.Locale.Tr "admin.monitor.process"}}</a>
<a class="{{if eq .ShowGoroutineList "stacktrace"}}active {{end}}item" href="?show=stacktrace">{{ctx.Locale.Tr "admin.monitor.stacktrace"}}</a>
</div>
</div>
<form target="_blank" action="{{AppSubUrl}}/admin/monitor/diagnosis" class="ui form tw-flex tw-gap-3">
<label class="tw-flex tw-gap-2 tw-items-center tw-whitespace-nowrap">
{{ctx.Locale.Tr "admin.monitor.duration"}}
<input type="number" name="seconds" max="300" min="0" value="10">
</label>
<button class="ui primary small button">{{ctx.Locale.Tr "admin.monitor.download_diagnosis_report"}}</button>
</form>
</div>
<div class="divider"></div>
<h4 class="ui top attached header">
{{printf "%d Goroutines" .GoroutineCount}}{{/* Goroutine is non-translatable*/}}
{{- if .ProcessCount -}}, {{ctx.Locale.Tr "admin.monitor.processes_count" .ProcessCount}}{{- end -}}
</h4>
{{if .ProcessStacks}}
<div class="ui attached segment">
<div class="ui relaxed divided list">
{{range .ProcessStacks}}
{{template "admin/stacktrace-row" dict "Process" . "root" $}}
{{end}}
</div>
</div>
{{end}}
</div>
<div class="ui g-modal-confirm delete modal">
<div class="header">
{{ctx.Locale.Tr "admin.monitor.process.cancel"}}
</div>
<div class="content">
<p>{{ctx.Locale.Tr "admin.monitor.process.cancel_notices" (`<span class="name"></span>`|SafeHTML)}}</p>
<p>{{ctx.Locale.Tr "admin.monitor.process.cancel_desc"}}</p>
</div>
{{template "base/modal_actions_confirm" .}}
</div>
{{template "admin/layout_footer" .}}