Socket
Socket
Sign inDemoInstall

yotam-js-metrics-test

Package Overview
Dependencies
9
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.6 to 0.1.7

2

package.json
{
"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 @@

@@ -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
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc