Name
sn_sow_em.EmRfCommons
Description
No description available
Script
var EmRfCommons = Class.create();
EmRfCommons.prototype = {
initialize: function() {
this.evtMgmtCommons = new global.EvtMgmtCommons();
//Constants
this.TOP_N_RESULTS = this.getformatedTopN();
//Incident constants
this.INCIDENT_RECORD_NAME = "incident_record";
this.INCIDENT_RECORD_LABEL = "Incident Record";
//KB constants
this.KB_RECORD_NAME = 'knowledge_article';
this.KB_LABEL = 'Knowledge Article';
this.KB_PREFIX = 'kb_knowledge:'; // prefix of sys_id returned by the KB search request
//Alert constants
this.ALERT_RECORD_LABEL = "Alert Record";
this.ALERT_RECORD_NAME = "alert_record";
this.CONFIDNECE_SCORE = "confidence_score";
},
getformatedTopN: function() {
var topN = gs.getProperty("evt_mgmt.recommendation_framework_top_N_results", 10);
if (isNaN(topN)) {
topN = parseInt(topN) || 10;
}
return topN;
},
insertResultsToArray: function(gr, recordName, recordField) {
var evaluationOutputs = [];
while (gr.next()) {
var singlePrediction = {};
singlePrediction[recordName] = gr.getValue(recordField);
evaluationOutputs.push(singlePrediction);
}
return evaluationOutputs;
},
insertAlertsToResultArray: function(gr, recordField) {
return this.insertResultsToArray(gr, this.ALERT_RECORD_NAME, recordField);
},
insertIncidentsToResultArray: function(gr, recordField) {
return this.insertResultsToArray(gr, this.INCIDENT_RECORD_NAME, recordField);
},
logErrorMessage: function(scriptName, currentAlertNumber, currentSysId, execption) {
var exception = this.evtMgmtCommons.getExceptionMessage(execption, true);
var errorMessage = scriptName + " - Fail to process recommendation for Alert: " + currentAlertNumber + " ( " + currentSysId + " ) \n";
errorMessage+= "Error Message: " + exception;
gs.error(errorMessage);
return errorMessage;
},
logStartTime: function(scriptName, currentAlertNumber) {
if (this.isLogDebugRecommendationsEnabled()) {
gs.info(scriptName + ' - recomendation evaluation for ' + currentAlertNumber + ' has started.');
}
},
logEndTime: function(scriptName, currentAlertNumber, startTimeGdt) {
if (this.isLogDebugRecommendationsEnabled()) {
var logStr = scriptName + ' - recommendation evaluation for ' + currentAlertNumber + ' has ended successfully. \n';
logStr += 'Total time (ms): ' + (new GlideDateTime().getNumericValue() - startTimeGdt.getNumericValue()) + '\n';
gs.info(logStr);
}
},
logNumberOfResults: function(scriptName, currentAlertNumber, numberOfResults) {
if (this.isLogDebugRecommendationsEnabled()) {
var message = scriptName + " - number of recommendation records for Alert: " + currentAlertNumber + " is " + numberOfResults;
gs.info(message);
}
},
//write to log if recommendation framework log is enabled OR evt_mgmt debug is enabled
isLogDebugRecommendationsEnabled: function() {
return (gs.getProperty('evt_mgmt.recommendation_framework_enable_debug', 'false') == 'true') || this.evtMgmtCommons.isDebugEnabled();
},
type: 'EmRfCommons'
};
Sys ID
99b076c74f010110b34cb38b43ce0bdd