view mock-api/endpoints/jvm-memory.endpoint.js @ 267:8fea191dbff0

Refactor and clean up jvm-memory 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 599c230e22e5
children 4023b79e4d58
line wrap: on
line source

function jvmMemory (server) {
  var _ = require('lodash');
  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;

    res.setHeader('Content-Type', 'application/json');
    res.send(JSON.stringify(
      {
        response: [
          {
            agentId: 'foo-agentId',
            jvmId: jvmId,
            timeStamp: { $numberLong: Date.now().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;