feat: align with upstream 1.5.9.9
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import { defineEventHandler } from 'h3'
|
||||
import { databaseManager } from '~~/server/utils/database-manager'
|
||||
import { getInstanceId } from '~~/server/utils/instance-id'
|
||||
import { isTelemetryEnabled } from '~~/server/utils/telemetry'
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
try {
|
||||
const instanceId = await getInstanceId()
|
||||
const telemetryEnabled = await isTelemetryEnabled()
|
||||
|
||||
// 获取数据库连接状态
|
||||
const dbStatus = await databaseManager.getConnectionStatus()
|
||||
let poolStatus = null
|
||||
try {
|
||||
poolStatus = await databaseManager.getConnectionPoolStatus()
|
||||
} catch (poolError) {
|
||||
console.warn('[System Status] Failed to get database pool status:', poolError)
|
||||
}
|
||||
|
||||
// 数据库连接测试结果
|
||||
const dbTestResult = dbStatus.connected
|
||||
const dbError = dbStatus.connected ? null : dbStatus.error
|
||||
|
||||
// 获取系统信息
|
||||
const systemInfo = {
|
||||
timestamp: new Date().toISOString(),
|
||||
uptime: process.uptime(),
|
||||
nodeVersion: process.version,
|
||||
platform: process.platform,
|
||||
arch: process.arch,
|
||||
memory: {
|
||||
used: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
|
||||
total: Math.round(process.memoryUsage().heapTotal / 1024 / 1024),
|
||||
external: Math.round(process.memoryUsage().external / 1024 / 1024)
|
||||
}
|
||||
}
|
||||
|
||||
// 返回完整的系统状态
|
||||
return {
|
||||
status: 'ok',
|
||||
instance: {
|
||||
instanceId,
|
||||
telemetryEnabled
|
||||
},
|
||||
database: {
|
||||
connected: dbTestResult,
|
||||
poolStatus: poolStatus,
|
||||
connectionInfo: dbStatus,
|
||||
error: dbError
|
||||
},
|
||||
system: systemInfo
|
||||
}
|
||||
} catch (error) {
|
||||
const errorMessage = error instanceof Error ? error.message : 'Unknown error'
|
||||
|
||||
return {
|
||||
status: 'error',
|
||||
error: errorMessage,
|
||||
database: {
|
||||
connected: false,
|
||||
poolStatus: null,
|
||||
error: errorMessage
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user