1{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin monitor")}}
2<div class="admin-setting-content">
3
4 <div class="tw-flex tw-items-center">
5 <div class="tw-flex-1">
6 <div class="ui compact small menu">
7 <a class="{{if eq .ShowGoroutineList "process"}}active {{end}}item" href="?show=process">{{ctx.Locale.Tr "admin.monitor.process"}}</a>
8 <a class="{{if eq .ShowGoroutineList "stacktrace"}}active {{end}}item" href="?show=stacktrace">{{ctx.Locale.Tr "admin.monitor.stacktrace"}}</a>
9 </div>
10 </div>
11 <form target="_blank" action="{{AppSubUrl}}/admin/monitor/diagnosis" class="ui form tw-flex tw-gap-3">
12 <label class="tw-flex tw-gap-2 tw-items-center tw-whitespace-nowrap">
13 {{ctx.Locale.Tr "admin.monitor.duration"}}
14 <input type="number" name="seconds" max="300" min="0" value="10">
15 </label>
16 <button class="ui primary small button">{{ctx.Locale.Tr "admin.monitor.download_diagnosis_report"}}</button>
17 </form>
18 </div>
19
20 <div class="divider"></div>
21
22 <h4 class="ui top attached header">
23 {{printf "%d Goroutines" .GoroutineCount}}{{/* Goroutine is non-translatable*/}}
24 {{- if .ProcessCount -}}, {{ctx.Locale.Tr "admin.monitor.processes_count" .ProcessCount}}{{- end -}}
25 </h4>
26
27 {{if .ProcessStacks}}
28 <div class="ui attached segment">
29 <div class="ui relaxed divided list">
30 {{range .ProcessStacks}}
31 {{template "admin/stacktrace-row" dict "Process" . "root" $}}
32 {{end}}
33 </div>
34 </div>
35 {{end}}
36</div>
37
38<div class="ui g-modal-confirm delete modal">
39 <div class="header">
40 {{ctx.Locale.Tr "admin.monitor.process.cancel"}}
41 </div>
42 <div class="content">
43 <p>{{ctx.Locale.Tr "admin.monitor.process.cancel_notices" (`<span class="name"></span>`|SafeHTML)}}</p>
44 <p>{{ctx.Locale.Tr "admin.monitor.process.cancel_desc"}}</p>
45 </div>
46 {{template "base/modal_actions_confirm" .}}
47</div>
48
49{{template "admin/layout_footer" .}}