UI-Anpassungen
Dieser Commit ist enthalten in:
committet von
Server Deploy
Ursprung
7d67557be4
Commit
ef153789cc
@ -640,4 +640,75 @@ router.get('/directories/:id/commits', (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* GET /api/coding/directories/:id/usage
|
||||
* Aktuelle Verbrauchsdaten abrufen (simuliert)
|
||||
*/
|
||||
router.get('/directories/:id/usage', (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const db = getDb();
|
||||
|
||||
const directory = db.prepare('SELECT * FROM coding_directories WHERE id = ?').get(id);
|
||||
if (!directory) {
|
||||
return res.status(404).json({ error: 'Anwendung nicht gefunden' });
|
||||
}
|
||||
|
||||
// Simulierte Verbrauchsdaten generieren
|
||||
const usage = {
|
||||
cpu_percent: Math.random() * 100,
|
||||
memory_mb: Math.floor(Math.random() * 4096),
|
||||
disk_read_mb: Math.random() * 100,
|
||||
disk_write_mb: Math.random() * 50,
|
||||
network_recv_mb: Math.random() * 10,
|
||||
network_sent_mb: Math.random() * 10,
|
||||
process_count: Math.floor(Math.random() * 20) + 1,
|
||||
timestamp: new Date()
|
||||
};
|
||||
|
||||
// Speichere in Datenbank für Historie
|
||||
db.prepare(`
|
||||
INSERT INTO coding_usage (directory_id, cpu_percent, memory_mb, disk_read_mb,
|
||||
disk_write_mb, network_recv_mb, network_sent_mb, process_count)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
||||
`).run(id, usage.cpu_percent, usage.memory_mb, usage.disk_read_mb,
|
||||
usage.disk_write_mb, usage.network_recv_mb, usage.network_sent_mb, usage.process_count);
|
||||
|
||||
res.json({ usage });
|
||||
} catch (error) {
|
||||
logger.error('Fehler beim Abrufen der Verbrauchsdaten:', error);
|
||||
res.status(500).json({ error: 'Interner Serverfehler' });
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* GET /api/coding/directories/:id/usage/history
|
||||
* Historische Verbrauchsdaten abrufen
|
||||
*/
|
||||
router.get('/directories/:id/usage/history', (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const hours = parseInt(req.query.hours) || 24;
|
||||
const db = getDb();
|
||||
|
||||
const directory = db.prepare('SELECT * FROM coding_directories WHERE id = ?').get(id);
|
||||
if (!directory) {
|
||||
return res.status(404).json({ error: 'Anwendung nicht gefunden' });
|
||||
}
|
||||
|
||||
const history = db.prepare(`
|
||||
SELECT * FROM coding_usage
|
||||
WHERE directory_id = ?
|
||||
AND timestamp > datetime('now', '-${hours} hours')
|
||||
ORDER BY timestamp DESC
|
||||
LIMIT 100
|
||||
`).all(id);
|
||||
|
||||
res.json({ history });
|
||||
} catch (error) {
|
||||
logger.error('Fehler beim Abrufen der Verbrauchshistorie:', error);
|
||||
res.status(500).json({ error: 'Interner Serverfehler' });
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren