Compass Real Time Server Stats Component
In the package.json
:
"dependencies": {
"compass-serverstats": "10gen/compass-serverstats",
}
const d3 = require('d3');
const realTimeLineChart = require('compass-serverstats').d3.realTimeLineChart;
const el = document.getElementById('myChart');
const data = {
dataSets: [
{
line: 'virtual',
count: [2.48, 2.48, 2.49],
active: true,
},
{
line: 'resident',
count: [0.02, 0.02, 0.02],
active: true,
},
{
line: 'mapped',
count: [0, 0, 0],
active: true,
},
],
localTime: [
'2016-10-30T07:12:05.077Z',
'2016-10-30T07:12:06.069Z',
'2016-10-30T07:12:07.153Z',
],
skip: [false, false, false],
yDomain: [0, 2.49],
xLength: 60,
labels: {
title: 'memory',
keys: ['vsize', 'resident', 'mapped'],
yAxis: 'GB',
},
keyLength: 6,
paused: false,
};
d3.select(el).datum(data).call(realTimeLineChart());
Validate and test your component in an Electron window, styles included. The source automatically compiles and the window content reloads when any file under ./src
changes.
To start Electron and render your component, type npm start
.
The test environment is configured to test components with Enzyme (including full mount
mode through jsdom) and enzyme-chai. See the test folder for examples. Run npm test
to execute the test suite.
Almost all of your development will happen in the ./src
directory. Add new components
to ./src/components
, actions to ./src/actions/index.js
and if you need additional stores, add them to ./src/stores
.
For completeness, below is a list of directories present in this module:
-
electron
code to start electron, open a browser window and load the source. You don't usually need to touch this, unless you want to render something other than the main component in Electron. -
lib
compiled version of your components (plain javascript instead ofjsx
) and styles (css
instead ofless
). Never change anything here as this entire folder gets automatically created and overwritten. -
src
components, actions and stores source code, as well as style files. This is the place to implement your own components.npm run compile
will use./src
as input and create./lib
. -
test
implement your tests here, and name the files*.test.js
.