This is a Node.js client SDK for service-perfmon microservice. It provides an easy to use abstraction over communication protocols:
- HTTP/REST client
- Seneca client (see http://www.senecajs.org)
- Direct client for monolythic deployments
- Null client to be used in testing
This client SDK also contains Direct, REST and Seneca loggers that allow to directly log into the microservice.
Add dependency to the client SDK into package.json file of your project
{
...
"dependencies": {
....
"client-perfmon-node": "^1.0.*",
...
}
}
Then install the dependency using npm tool
# Install new dependencies
npm install
# Update already installed dependencies
npm update
Inside your code get the reference to the client SDK
var sdk = new require('client-perfmon-node');
Define client configuration parameters that match configuration of the microservice external API
// Client configuration
var config = {
connection: {
protocol: 'http',
host: 'localhost',
port: 8080
}
};
Instantiate the client and open connection to the microservice
// Create the client instance
var client = sdk.PerfMonHttpClientV1(config);
// Connect to the microservice
try {
await client.open(null);
// Work with the microservice
...
} catch(err) {
console.error('Connection to the microservice failed');
console.error(err);
}
Now the client is ready to perform operations
// Write counter
let event = await client.writeCounter(
null,
{
type: 'restart',
source: 'server 1',
counter: 'Server restarted'
}
);
var now = new Date();
// Get counters
let page = await client.readCounters(
null,
{
from: new Date(now.getTime() - 24 * 3600 * 1000),
to: now,
source: 'server 1'
},
{
total: true,
skip: 0,
take: 100
}
);
This client SDK was created and currently maintained by Sergey Seroukhov.