Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert to 54f7c46 #82

Merged
merged 1 commit into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion EventHubs/target/logs_build/EventHubs_Logs/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ module.exports = function (context, eventHubMessages) {


function failureHandler(msgArray,ctx) {
ctx.log.error("Failed to send to Sumo, backup to storageaccount now" + ' messagesAttempted: ' + this.messagesAttempted + ' messagesReceived: ' + this.
ctx.log("Failed to send to Sumo, backup to storageaccount now" + ' messagesAttempted: ' + this.messagesAttempted + ' messagesReceived: ' + this.
messagesReceived);
if (this.messagesAttempted === this.messagesReceived) {
context.bindings.outputBlob = messageArray.map(function(x) { return JSON.stringify(x);}).join("\n");
Expand Down
30 changes: 15 additions & 15 deletions EventHubs/target/logs_build/EventHubs_Logs/sumoclient.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
/**
* Created by duc on 6/30/17.
*/
var https = require('node:https');
var zlib = require('node:zlib');
var url = require('node:url');
var https = require('https');
var zlib= require('zlib');
var url = require('url');

var bucket = require('./messagebucket');
var sumoutils = require('./sumoutils.js');
Expand All @@ -22,7 +22,7 @@ var metadataMap = {"category":"X-Sumo-Category","sourceName":"X-Sumo-Name","sou
* has been attempted to sent to Sumo (either successfully or over max retries).
* @constructor
*/
function SumoClient(options, context, flush_failure_callback, success_callback) {
function SumoClient(options, context, flush_failure_callback,success_callback) {
let myOptions = options || {};
if (myOptions.urlString) {
let urlObj = url.parse(options.urlString);
Expand Down Expand Up @@ -125,7 +125,7 @@ SumoClient.prototype.flushBucketToSumo = function(metaKey) {
var self = this;
let curOptions = Object.assign({},this.options);

this.context.log.verbose("Flush buffer for metaKey:"+metaKey);
this.context.log("Flush buffer for metaKey:"+metaKey);

function httpSend(messageArray,data) {
return new Promise( (resolve,reject) => {
Expand Down Expand Up @@ -173,35 +173,34 @@ SumoClient.prototype.flushBucketToSumo = function(metaKey) {
if (curOptions.compress_data) {
curOptions.headers['Content-Encoding'] = 'gzip';

return zlib.gzip(msgArray.join('\n'),function(e,compressed_data){
zlib.gzip(msgArray.join('\n'),function(e,compressed_data){
if (!e) {
self.context.log.verbose("gzip successful");
return sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,compressed_data])
sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,compressed_data])
.then(()=> {
self.context.log.verbose("Successfully sent to Sumo after "+self.MaxAttempts);
//self.context.log("Succesfully sent to Sumo after "+self.MaxAttempts);
self.success_callback(self.context);}
)
.catch((err) => {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log.error("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.context.log("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
});
} else {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log.error("Failed to gzip: " + JSON.stringify(e) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.context.log("Failed to gzip: " + JSON.stringify(e) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
}
});
} else {
//self.context.log('Send raw data to Sumo');
return sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,msgArray.join('\n')])
sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,msgArray.join('\n')])
.then(()=> { self.success_callback(self.context);})
.catch((err) => {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log.error("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.context.log("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
});
}
Expand Down Expand Up @@ -252,7 +251,7 @@ function FlushFailureHandler (messageArray,ctx) {
};

/**
* Default built-in callback function to handle successful sent. It simply logs a success message
* Default built-in callback function to handle successful sents. It simply logs a success message
* @param ctx is a context variable that supports a log method
* @constructor
*/
Expand All @@ -264,4 +263,5 @@ module.exports = {
SumoClient:SumoClient,
FlushFailureHandler:FlushFailureHandler,
DefaultSuccessHandler:DefaultSuccessHandler
}
}

36 changes: 19 additions & 17 deletions EventHubs/target/logs_build/EventHubs_Logs/sumometricclient.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@
/**
* Created by duc on 6/30/17. This is a client for metric
*/
var https = require('node:https');
var zlib = require('node:zlib');
var url = require('node:url');
var https = require('https');
var zlib= require('zlib');
var url = require('url');

var sumoclient = require('./sumoclient');
var bucket = require('./messagebucket');
var sumoutils = require('./sumoutils.js');



var metadataMap = {"category":"X-Sumo-Category","sourceName":"X-Sumo-Name","sourceHost":"X-Sumo-Host"};
/**
* Class to receive metrics to a designated Sumo endpoint. Similar to the Log client is best used independently with a batch of messages so one can track the number
Expand Down Expand Up @@ -117,7 +119,7 @@ SumoMetricClient.prototype.flushBucketToSumo = function(metaKey) {
var self = this;
let curOptions = Object.assign({},this.options);

this.context.log.verbose("Flush METRIC buffer for metaKey:"+metaKey);
this.context.log("Flush METRIC buffer for metaKey:"+metaKey);

function httpSend(messageArray,data) {

Expand Down Expand Up @@ -168,36 +170,35 @@ SumoMetricClient.prototype.flushBucketToSumo = function(metaKey) {
if (curOptions.compress_data) {
curOptions.headers['Content-Encoding'] = 'gzip';

return zlib.gzip(msgArray.join('\n'),function(e,compressed_data){
zlib.gzip(msgArray.join('\n'),function(e,compressed_data){
if (!e) {
self.context.log.verbose("gzip successful");
sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,compressed_data])
.then(()=> {
self.context.log.verbose("Successfully sent to Sumo after "+self.MaxAttempts);
//self.context.log("Succesfully sent to Sumo after "+self.MaxAttempts);
self.success_callback(self.context);}
)
.catch((err) => {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log.error("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.context.log("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
});
} else {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log.error("Failed to gzip: " + JSON.stringify(e) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.context.log("Failed to gzip: " + JSON.stringify(e) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
}
});
} else {
//self.context.log('Send raw data to Sumo');
return sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,msgArray.join('\n')])
sumoutils.p_retryMax(httpSend,self.MaxAttempts,self.RetryInterval,[msgArray,msgArray.join('\n')])
.then(()=> { self.success_callback(self.context);})
.catch((err) => {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log.error("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
.catch((err) => {
self.messagesFailed += msgArray.length;
self.messagesAttempted += msgArray.length;
self.context.log("Failed to send after retries: " + self.MaxAttempts + " " + JSON.stringify(err) + ' messagesAttempted: ' + self.messagesAttempted + ' messagesReceived: ' + self.messagesReceived);
self.failure_callback(msgArray,self.context);
});
}
}
Expand All @@ -215,7 +216,7 @@ function FlushFailureHandler (messageArray,ctx) {
};

/**
* Default built-in callback function to handle successful sent. It simply logs a success message
* Default built-in callback function to handle successful sents. It simply logs a success message
* @param ctx is a context variable that supports a log method
* @constructor
*/
Expand All @@ -227,4 +228,5 @@ module.exports = {
SumoMetricClient:SumoMetricClient,
FlushFailureHandler:FlushFailureHandler,
DefaultSuccessHandler:DefaultSuccessHandler
}
}

Loading