Mercurial > hg > thermostat-ng > web-client
view mock-api/endpoints/jvm-memory.endpoint.js @ 270:4023b79e4d58
Load historical jvm-memory data at controller init
Reviewed-by: jkang
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-October/025371.html
author | Andrew Azores <aazores@redhat.com> |
---|---|
date | Wed, 11 Oct 2017 14:59:09 -0400 |
parents | 8fea191dbff0 |
children | b35a283eb016 |
line wrap: on
line source
var _ = require('lodash'); function jvmMemory (server) { server.init('jvmMemory'); server.app.get('/jvm-memory/0.0.3/jvms/:jvmId', function (req, res) { server.logRequest('jvm-memory', req); var jvmId = req.params.jvmId; var query = req.query.query; var now = Date.now(); var since = query.split('timeStamp>=')[1]; var elapsed = now - since; var count = _.floor(elapsed / 1000); var response = []; for (var i = count; i >= 0; i--) { response.push(makeSample(jvmId, now - (i * 1000))); } res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify({ response: response })); }); } function makeSample (jvmId, timestamp) { return { agentId: 'foo-agentId', jvmId: jvmId, timeStamp: { $numberLong: timestamp.toString() }, metaspaceMaxCapacity: { $numberLong: '0' }, metaspaceMinCapacity: { $numberLong: '0' }, metaspaceCapacity: { $numberLong: (4096 * 1024 * 1024).toString() }, metaspaceUsed: { $numberLong: _.round(4096 * 1024 * 1024 * Math.random()).toString() }, generations: [ { capacity: { $numberLong: (100 * 1024 * 1024).toString() }, collector: 'Shenandoah', maxCapacity: { $numberLong: (200 * 1024 * 1024).toString() }, name: 'old', spaces: [ { capacity: { $numberLong: (50 * 1024 * 1024).toString() }, index: 0, maxCapacity: { $numberLong: (100 * 1024 * 1024).toString() }, name: 'Gen 0 Space 0', used: { $numberLong: _.round(50 * 1024 * 1024 * Math.random()).toString() } }, { capacity: { $numberLong: (50 * 1024 * 1024).toString() }, index: 1, maxCapacity: { $numberLong: (100 * 1024 * 1024).toString() }, name: 'Gen 0 Space 1', used: { $numberLong: _.round(50 * 1024 * 1024 * Math.random()).toString() } } ] }, { capacity: { $numberLong: (200 * 1024 * 1024).toString() }, collector: 'Shenandoah', maxCapacity: { $numberLong: (400 * 1024 * 1024).toString() }, name: 'new', spaces: [ { capacity: { $numberLong: (200 * 1024 * 1024).toString() }, index: 0, maxCapacity: { $numberLong: (400 * 1024 * 1024).toString() }, name: 'Gen 1 Space 0', used: { $numberLong: _.round(200 * 1024 * 1024 * Math.random()).toString() } } ] }, { capacity: { $numberLong: (400 * 1024 * 1024).toString() }, collector: 'G1', maxCapacity: { $numberLong: (1600 * 1024 * 1024).toString() }, name: 'newest', spaces: [ { capacity: { $numberLong: (50 * 1024 * 1024).toString() }, index: 0, maxCapacity: { $numberLong: (400 * 1024 * 1024).toString() }, name: 'Gen 2 Space 0', used: { $numberLong: _.round(50 * 1024 * 1024 * Math.random()).toString() } }, { capacity: { $numberLong: (100 * 1024 * 1024).toString() }, index: 1, maxCapacity: { $numberLong: (200 * 1024 * 1024).toString() }, name: 'Gen 2 Space 1', used: { $numberLong: _.round(100 * 1024 * 1024 * Math.random()).toString() } }, { capacity: { $numberLong: (250 * 1024 * 1024).toString() }, index: 2, maxCapacity: { $numberLong: (1000 * 1024 * 1024).toString() }, name: 'Gen 2 Space 2', used: { $numberLong: _.round(250 * 1024 * 1024 * Math.random()).toString() } } ] } ] } } module.exports = jvmMemory;