Skip to content

Commit

Permalink
nOutput_HTTP_Metrics choice between JSON and OpenMetrics #139
Browse files Browse the repository at this point in the history
  • Loading branch information
nmaguiar committed Apr 13, 2022
1 parent 064da3a commit 80c0233
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 7 deletions.
4 changes: 2 additions & 2 deletions .package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ name: nAttrMon
main: nattrmon.js
mainJob: ''
license: Apache 2.0 license
version: '20220411'
version: '20220412'
dependencies:
openaf: '>=20211229'
files:
Expand Down Expand Up @@ -417,7 +417,7 @@ filesHash:
config/objects/nValidation_Yellows.js: 942478fcd710e392add0b6ef6349ef51a895b764
config/objects/nInput_RAIDGCMemory.js: 28aefad8696236df00e681ea00d85679d9481a9f
config/objects/nInput_CBPMRunningFlows.js: 54156f08ebcd272a24ae0b7d8c135f5d582dd195
config/objects/nOutput_HTTP_Metrics.js: 08e82dd8e13647eaba9fa14cb770495ec0ebf153
config/objects/nOutput_HTTP_Metrics.js: 1c3a0120b445f0ef1433877a38028771128ec565
config/objects/nInput_RAIDMemory.js: 23ed9e4d91613c7a479a512e1dbc1a13cf971c23
config/objects/nInput_BPMNRunningFlows.js: 86da2d78b524d42ac4ab9598820605bbbfb24c57
config/objects/nOutput_Log.js: 69ef02bb37d306deb390f303a8bbf6e2234be792
Expand Down
39 changes: 34 additions & 5 deletions config/objects/nOutput_HTTP_Metrics.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ var nOutput_HTTP_Metrics = function (aMap) {
this.chParams = _$(aMap.chParams, "chParams").isMap().default(__);
this.chPeriod = _$(aMap.chPeriod, "chPeriod").isNumber().default(5000);

this.format = _$(aMap.format, "format").isString().default(__)

if (isDef(this.chName) && this.chPeriod > 0) $ch(this.chName).create(1, this.chType, this.chParams);
} else {
aMap = {};
Expand Down Expand Up @@ -198,12 +200,39 @@ var nOutput_HTTP_Metrics = function (aMap) {
"/metrics": function (req) {
try {
var res = "";
switch (req.params.op) {
var fmt = _$(req.params.format).default(parent.format)
switch (fmt) {
case "json":
var _res = {}
if (isDef(req.params.type)) {
switch(req.params.type) {
case "self" : _res = ow.metrics.getAll(); break
case "cvals": _res = nattrmon.getCurrentValues(); break
case "lvals": _res = nattrmon.getLastValues(); break
case "warns": _res = nattrmon.getWarnings(); break
}
} else {
if (parent.includeSelf) _res[parent.nameSelf] = ow.metrics.getAll()
if (parent.includeCVals) _res[parent.nameCVals] = nattrmon.getCurrentValues()
if (parent.includeLVals) _res[parent.nameLVals] = nattrmon.getLastValues()
if (parent.includeWarns) _res[parent.nameWarns] = nattrmon.getWarnings()
}
res = stringify(_res, __, "")
break;
default:
if (parent.includeSelf) res += ow.metrics.fromObj2OpenMetrics(ow.metrics.getAll(), parent.nameSelf);
if (parent.includeCVals) res += _parse(nattrmon.getCurrentValues(), parent.nameCVals);
if (parent.includeLVals) res += _parse(nattrmon.getLastValues(), parent.nameLVals);
if (parent.includeWarns) res += _parse(nattrmon.getWarnings(), parent.nameWarns);
if (isDef(req.params.type)) {
switch(req.params.type) {
case "self" : res += ow.metrics.fromObj2OpenMetrics(ow.metrics.getAll(), parent.nameSelf); break
case "cvals": res += _parse(nattrmon.getCurrentValues(), parent.nameCVals); break
case "lvals": res += _parse(nattrmon.getLastValues(), parent.nameLVals); break
case "warns": res += _parse(nattrmon.getWarnings(), parent.nameWarns); break
}
} else {
if (parent.includeSelf) res += ow.metrics.fromObj2OpenMetrics(ow.metrics.getAll(), parent.nameSelf);
if (parent.includeCVals) res += _parse(nattrmon.getCurrentValues(), parent.nameCVals);
if (parent.includeLVals) res += _parse(nattrmon.getLastValues(), parent.nameLVals);
if (parent.includeWarns) res += _parse(nattrmon.getWarnings(), parent.nameWarns);
}
break;
}
var hres = ow.server.httpd.reply(res, 200, "text/plain", {});
Expand Down

0 comments on commit 80c0233

Please sign in to comment.