Files
fnx_web/res/template/admin.html

170 lines
5.1 KiB
HTML
Raw Normal View History

2019-04-10 20:33:14 +02:00
{{define "admin_panel"}}
<!DOCTYPE html>
2020-01-17 20:32:21 +01:00
<html lang="en">
<head>
{{template "meta_tags" "Administrator panel"}}
{{template "user_style" .}}
</head>
<body>
2019-09-17 23:38:40 +02:00
{{template "page_top" .}}
<div class="page_content">
2020-07-31 21:21:14 +02:00
{{if and .Authenticated .User.IsAdmin}}
2020-07-20 16:43:12 +02:00
<div class="limit_width">
<h3>Actions</h3>
</div>
<br/>
<a class="button" href="/admin/abuse">
<i class="icon">block</i>
Block files
</a>
<a class="button" href="/admin/abuse_reporters">
<i class="icon">report</i>
Manage abuse reporters
</a>
<a class="button" href="/admin/globals">
<i class="icon">edit</i>
Update global settings
</a>
<br/>
<div class="limit_width">
2020-07-20 16:43:12 +02:00
<h3>Bandwidth and views</h3>
</div>
2019-09-17 23:38:40 +02:00
<div class="highlight_dark">
2020-12-15 16:25:20 +01:00
<button onclick="loadGraph(1440, 1, true);">Day</button>
<button onclick="loadGraph(10080, 10, false);">Week</button>
2020-06-08 16:35:18 +02:00
<button onclick="loadGraph(20160, 60, false);">Two Weeks</button>
<button onclick="loadGraph(43200, 60, false);">Month</button>
2020-06-08 16:35:18 +02:00
<button onclick="loadGraph(131400, 1440, false);">Quarter</button>
<button onclick="loadGraph(262800, 1440, false);">Half-year</button>
<button onclick="loadGraph(525600, 1440, false);">Year</button>
2020-10-26 21:35:41 +01:00
<button onclick="loadGraph(1051200, 1440, false);">Two Years</button>
2020-08-18 13:04:26 +02:00
<!--<br/>
<button onclick="navigateTimespan(false);">🠈</button>
<button onclick="loadTimespan('day', new Date());">Day</button>
<button onclick="loadTimespan('week', new Date());">Week</button>
<button onclick="loadTimespan('month', new Date());">Month</button>
<button onclick="loadTimespan('quarter', new Date());">Quarter</button>
<button onclick="loadTimespan('year', new Date());">Year</button>
<button onclick="navigateTimespan(true);">🠊</button>-->
2019-09-17 23:38:40 +02:00
</div>
2020-08-11 20:13:42 +02:00
<div id="chart_container" class="chart-container" style="position: relative; width: 100%; height: 200px; padding-top: 6px;">
2019-09-17 23:38:40 +02:00
<canvas id="bandwidth_chart"></canvas>
</div>
2020-08-11 19:52:03 +02:00
<hr>
2020-08-11 20:13:42 +02:00
<div id="chart_container" class="chart-container" style="position: relative; width: 100%; height: 200px;">
2020-08-11 19:52:03 +02:00
<canvas id="views_chart"></canvas>
</div>
<div class="highlight_dark">
Total usage from <span id="time_start"></span> to <span id="time_end"></span><br/>
<span id="total_bandwidth"></span> bandwidth and <span id="total_views"></span> views
</div>
2020-10-26 21:35:41 +01:00
<br/>
<a class="button" href="/api/admin/call_stack">Call stack</a>
<a class="button" href="/api/admin/heap_profile">Heap profile</a>
<a class="button" href="/api/admin/cpu_profile">CPU profile (wait 1 min)</a>
<br/>
2019-12-17 19:28:30 +01:00
<div class="limit_width">
2020-06-01 14:39:22 +02:00
<table>
2020-12-15 16:25:20 +01:00
<tr>
<td>DB Time</td>
<td id="db_time"></td>
<td>DB Latency</td>
<td id="db_latency"></td>
</tr>
2020-06-01 14:39:22 +02:00
</table>
2020-09-15 14:31:52 +02:00
<h3>Pixelstore peers</h3>
<table>
<thead>
<tr>
<td>Address</td>
2021-05-05 20:20:34 +02:00
<td>Pos</td>
<td>Alive</td>
<td>Err</td>
<td>1m</td>
<td>5m</td>
<td>15m</td>
<td>Ping</td>
2021-04-07 19:30:12 +02:00
<td>Free</td>
<td>Min free</td>
2020-09-15 14:31:52 +02:00
</tr>
</thead>
<tbody id="tbody_peers"></tbody>
</table>
2020-11-04 20:51:39 +01:00
<h3>Pixelstore stats</h3>
<table>
2020-11-09 12:27:55 +01:00
<thead>
<tr>
<td>Local reads</td>
<td>Local read size</td>
<td>Remote reads</td>
<td>Remote read size</td>
</tr>
</thead>
<tbody>
<tr>
<td id="local_reads"></td>
<td id="local_read_size"></td>
<td id="remote_reads"></td>
<td id="remote_read_size"></td>
</tr>
<tr>
<td id="local_reads_rate"></td>
<td id="local_read_size_rate"></td>
<td id="remote_reads_rate"></td>
<td id="remote_read_size_rate"></td>
</tr>
</tbody>
2020-11-04 20:51:39 +01:00
</table>
2020-08-31 18:48:54 +02:00
<h3>Websocket statistics</h3>
<table>
<thead>
<tr>
<td>Watcher</td>
<td>Threads</td>
<td>Listeners</td>
<td>Avg</td>
</tr>
</thead>
<tbody>
<tr>
<td>File statistics</td>
<td id="file_stats_watchers"></td>
<td id="file_stats_listeners"></td>
<td id="file_stats_avg"></td>
</tr>
</tbody>
</table>
2020-05-25 15:30:23 +02:00
<h3>Query statistics</h3>
<table>
<thead>
<tr>
2020-05-25 22:31:40 +02:00
<td style="cursor: pointer;" onclick="getStats('query_name')">Query</td>
<td style="cursor: pointer;" onclick="getStats('calls')">Calls</td>
<td style="cursor: pointer;" onclick="getStats('average_duration')">Average Duration</td>
<td style="cursor: pointer;" onclick="getStats('total_duration')">Total Duration</td>
2020-05-25 15:30:23 +02:00
<td>Callers</td>
</tr>
</thead>
2020-05-25 18:09:29 +02:00
<tbody id="tstat_body"></tbody>
2020-05-25 15:30:23 +02:00
</table>
2019-12-17 19:28:30 +01:00
</div>
2020-05-25 22:31:40 +02:00
<script src="/res/script/Chart.min.js"></script>
<script>
var apiEndpoint = '{{.APIEndpoint}}';
2020-08-11 19:52:03 +02:00
var highlightColor = '#{{.Style.HighlightColor.RGB}}';
2020-05-25 22:31:40 +02:00
{{template `util.js`}}
2020-08-11 19:52:03 +02:00
{{template `drawGraph.js`}}
2020-05-25 22:31:40 +02:00
{{template `admin.js`}}
</script>
2019-09-17 23:38:40 +02:00
{{else}}
2020-05-25 22:31:40 +02:00
<h1 style="text-align: center;">;-)</h1>
2019-09-17 23:38:40 +02:00
{{end}}
</div>
{{template "page_bottom" .}}
</div>
</body>
</html>
{{end}}