mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-05 20:27:52 +08:00
chore: separate index route
This commit is contained in:
@@ -1,90 +1,10 @@
|
||||
const Router = require('koa-router');
|
||||
const router = new Router();
|
||||
const art = require('art-template');
|
||||
const path = require('path');
|
||||
const config = require('./config');
|
||||
const logger = require('./utils/logger');
|
||||
const pidusage = require('pidusage');
|
||||
|
||||
let gitHash;
|
||||
try {
|
||||
gitHash = require('git-rev-sync').short();
|
||||
} catch (e) {
|
||||
gitHash = (process.env.HEROKU_SLUG_COMMIT && process.env.HEROKU_SLUG_COMMIT.slice(0, 7)) || 'unknown';
|
||||
}
|
||||
router.get('/', async (ctx) => {
|
||||
ctx.set({
|
||||
'Content-Type': 'text/html; charset=UTF-8',
|
||||
});
|
||||
|
||||
const routes = Object.keys(ctx.debug.routes).sort((a, b) => ctx.debug.routes[b] - ctx.debug.routes[a]);
|
||||
const hotRoutes = routes.slice(0, 50);
|
||||
let hotRoutesValue = '';
|
||||
hotRoutes.forEach((item) => {
|
||||
hotRoutesValue += `${ctx.debug.routes[item]} ${item}<br>`;
|
||||
});
|
||||
|
||||
const ips = Object.keys(ctx.debug.ips).sort((a, b) => ctx.debug.ips[b] - ctx.debug.ips[a]);
|
||||
const hotIPs = ips.slice(0, 50);
|
||||
let hotIPsValue = '';
|
||||
hotIPs.forEach((item) => {
|
||||
hotIPsValue += `${ctx.debug.ips[item]} ${item}<br>`;
|
||||
});
|
||||
|
||||
let showDebug;
|
||||
if (!config.debugInfo || config.debugInfo === 'false') {
|
||||
showDebug = false;
|
||||
} else {
|
||||
showDebug = config.debugInfo === true || config.debugInfo === ctx.query.debug;
|
||||
}
|
||||
|
||||
const stats = await pidusage(process.pid);
|
||||
|
||||
ctx.set({
|
||||
'Cache-Control': 'no-cache',
|
||||
});
|
||||
ctx.body = art(path.resolve(__dirname, './views/welcome.art'), {
|
||||
showDebug,
|
||||
debug: [
|
||||
{
|
||||
name: 'git hash',
|
||||
value: gitHash,
|
||||
},
|
||||
{
|
||||
name: '请求数',
|
||||
value: ctx.debug.request,
|
||||
},
|
||||
{
|
||||
name: '请求频率',
|
||||
value: ((ctx.debug.request / (stats.elapsed / 1000)) * 60).toFixed(3) + ' 次/分钟',
|
||||
},
|
||||
{
|
||||
name: '缓存命中率',
|
||||
value: ctx.debug.request ? (ctx.debug.hitCache / ctx.debug.request).toFixed(3) : 0,
|
||||
},
|
||||
{
|
||||
name: '内存占用',
|
||||
value: stats.memory / 1000000 + ' MB',
|
||||
},
|
||||
{
|
||||
name: 'CPU 占用',
|
||||
value: stats.cpu + '%',
|
||||
},
|
||||
{
|
||||
name: '运行时间',
|
||||
value: (stats.elapsed / 3600000).toFixed(2) + ' 小时',
|
||||
},
|
||||
{
|
||||
name: '热门路由',
|
||||
value: hotRoutesValue,
|
||||
},
|
||||
{
|
||||
name: '热门IP',
|
||||
value: hotIPsValue,
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
// index
|
||||
router.get('/', require('./routes/index'));
|
||||
|
||||
// test
|
||||
router.get('/test/:id', require('./routes/test'));
|
||||
|
||||
Reference in New Issue
Block a user