yotam-js-metrics-test
Advanced tools
Comparing version 0.1.6 to 0.1.7
{ | ||
"name": "yotam-js-metrics-test", | ||
"version": "0.1.6", | ||
"version": "0.1.7", | ||
"description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector", | ||
@@ -5,0 +5,0 @@ "main": "src/index.js", |
@@ -1,2 +0,2 @@ | ||
const wr = require('./remote_pb') | ||
const wr = require('../protos/rw/remote_pb') | ||
@@ -3,0 +3,0 @@ |
102
src/util.js
@@ -24,5 +24,2 @@ "use strict"; | ||
const transform = require('./transformTs') | ||
const http = require("http"); | ||
const rp = require('request-promise'); | ||
const maxAttempts = 3 | ||
@@ -54,24 +51,9 @@ // logging | ||
function send(collector, objects) { | ||
const serviceRequest = collector.convert(objects); | ||
const write_request = transform.toTimeSeries(serviceRequest) | ||
const bytes = write_request.serializeBinary(); | ||
const compr = SnappyJS.compress(bytes); | ||
async function tryToSend(request, data) { | ||
let toBackoff = false | ||
let backOff = 2000 | ||
for (let attempt = 0; attempt <= maxAttempts; attempt++) { | ||
if (toBackoff) { | ||
logger.log({ | ||
level: 'warn', | ||
message: `Export failed, trying again ${backOff}` | ||
}) | ||
await new Promise(r => setTimeout(r, backOff)); | ||
} | ||
backOff *= 2 | ||
} | ||
request.write(data); | ||
request.end(); | ||
} | ||
function pingApi(cnt = 0, collector ,data) { | ||
//Send with htttp | ||
const parsedUrl = new url.URL(collector.url); | ||
@@ -89,48 +71,23 @@ const options = { | ||
"X-Prometheus-Remote-Write-Version": "0.1.0", | ||
}, | ||
body: data | ||
} | ||
} | ||
return rp(options).then(result => { | ||
if (result.result === "OK") { | ||
return result; | ||
} else { | ||
throw "try again"; // advance to .catch handler | ||
} | ||
}).catch(err => { | ||
if (cnt < maxAttempts) { | ||
return pingApi(++cnt); | ||
} else { | ||
throw new Error("pingApi failed after maxRetries") | ||
} | ||
}); | ||
} | ||
const request = parsedUrl.protocol === 'http:' ? http.request : https.request; | ||
const req = request(options, res => { | ||
res.on('data', d => { | ||
process.stdout.write(d); | ||
}) | ||
if (res.statusCode == 200) { | ||
logger.log({ | ||
level: 'info', | ||
message: 'Export succesed' | ||
}); | ||
} | ||
function send(collector, objects, onSuccess, onError) { | ||
const serviceRequest = collector.convert(objects); | ||
const write_request = transform.toTimeSeries(serviceRequest) | ||
const bytes = write_request.serializeBinary(); | ||
const compr = SnappyJS.compress(bytes); | ||
// const request = parsedUrl.protocol === 'http:' ? http.request : https.request; | ||
// const req = request(options, res => { | ||
// res.on('data', d => { | ||
// process.stdout.write(d); | ||
// }) | ||
// if (res.statusCode == 200) { | ||
// logger.log({ | ||
// level: 'info', | ||
// message: 'Export succesed' | ||
// }); | ||
// } | ||
// | ||
// }) | ||
// req.on('error', error => { | ||
// logger.log({ | ||
// level: 'info', | ||
// message: `Failed to export metrics: ${error}` | ||
// }); | ||
// }) | ||
}) | ||
req.on('error', error => { | ||
logger.log({ | ||
level: 'info', | ||
message: `Failed to export metrics: ${error}` | ||
}); | ||
}) | ||
logger.log({ | ||
@@ -140,9 +97,6 @@ level: 'info', | ||
}); | ||
pingApi(collector, compr).then(result => { | ||
console.log(result); | ||
}).catch(err => { | ||
console.log(err); | ||
}) | ||
req.write(compr); | ||
req.end(); | ||
} | ||
exports.send = send; | ||
//# sourceMappingURL=util.js.map |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
2
56335
1145