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());
Develop and prototype your component with react-storybook in a standalone browser view, with linked stories and hot reloading.
To run storybook mode, type npm run storybook
, then open
http://localhost:9001 in a browser. You can now edit the source code and hit save, and changes will immediately show in the browser, while maintaining the state of the component(s).
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
.
If you edit the source code and hit save, the source will rebuild and the window reload automatically. State is not maintained throughout reloads (to maintain application state, use storybook instead).
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:
.storybook
react-storybook and webpack configuration. You usually don't need to touch this.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
.stories
stories for react-storybook. You can add as many story files as you like, they are automatically added to storybook.test
implement your tests here, and name the files*.test.js
.
Apache 2.0