view mock-api/endpoints/system-memory.endpoint.js @ 241:522b92fe4541

Fix system-memory data format inconsistencies Reviewed-by: jkang Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-October/025353.html
author Andrew Azores <aazores@redhat.com>
date Tue, 10 Oct 2017 16:11:57 -0400
parents 1887aaa6d7a5
children
line wrap: on
line source

function systemMemory (server) {
  let _ = require('lodash');
  server.init('systemMemory');
  server.app.get('/system-memory/0.0.1/systems/:systemId', function (req, res) {
    server.logRequest('system-info', req);

    let query = req.query;
    query = _.split(query, '&');
    let systemId = 'foo-systemId';
    for (let i = 0; i < query.length; i++) {
      let str = query[i];
      if (_.startsWith(str, 'systemId')) {
        systemId = _.split(str, '==')[1];
      }
    }
    let limit = req.query.l || 1;

    let gib = 1024 * 1024 * 1024;
    let response = [];
    for (let i = 0; i < limit; i++) {
      var data = {
        systemId: systemId,
        agentId: 'foo-agentId',
        timeStamp: { $numberLong: Date.now().toString() },
        total: { $numberLong: (16 * gib).toString() },
        free: { $numberLong: (_.round(Math.random() * (16 * gib / 4))).toString() },
        buffers: { $numberLong: (16 * gib / 32).toString() },
        cached: { $numberLong: '0' },
        swapTotal: { $numberLong: (16 * gib / 2).toString() },
        swapFree: { $numberLong: (16 * gib / 2).toString() },
        commitLimit: { $numberLong: '0' }
      };
      response.push(data);
    }

    res.setHeader('Content-Type', 'application/json');
    res.send(JSON.stringify(
      {
        response: response
      }
    ));
  });
}

module.exports = systemMemory;