Ability to trace script body executed by JS Executor microservice.

This commit is contained in:
Igor Kulikov 2019-02-12 17:17:50 +02:00
parent 8fdfacf492
commit 34bc51903c
4 changed files with 20 additions and 2 deletions

View File

@ -5,3 +5,4 @@ LOGGER_LEVEL=info
LOG_FOLDER=logs
LOGGER_FILENAME=tb-js-executor-%DATE%.log
DOCKER_MODE=true
SCRIPT_BODY_TRACE_FREQUENCY=1000

View File

@ -15,16 +15,20 @@
*/
'use strict';
const logger = require('../config/logger')('JsInvokeMessageProcessor'),
const config = require('config'),
logger = require('../config/logger')('JsInvokeMessageProcessor'),
Utils = require('./utils'),
js = require('./jsinvoke.proto').js,
KeyedMessage = require('kafka-node').KeyedMessage,
JsExecutor = require('./jsExecutor');
const scriptBodyTraceFrequency = Number(config.get('script.script_body_trace_frequency'));
function JsInvokeMessageProcessor(producer) {
this.producer = producer;
this.executor = new JsExecutor();
this.scriptMap = {};
this.executedScriptsCounter = 0;
}
JsInvokeMessageProcessor.prototype.onJsInvokeMessage = function(message) {
@ -74,6 +78,13 @@ JsInvokeMessageProcessor.prototype.processCompileRequest = function(requestId, r
JsInvokeMessageProcessor.prototype.processInvokeRequest = function(requestId, responseTopic, invokeRequest) {
var scriptId = getScriptId(invokeRequest);
logger.debug('[%s] Processing invoke request, scriptId: [%s]', requestId, scriptId);
this.executedScriptsCounter++;
if ( this.executedScriptsCounter >= scriptBodyTraceFrequency ) {
this.executedScriptsCounter = 0;
if (logger.levels[logger.level] >= logger.levels['debug']) {
logger.debug('[%s] Executing script body: [%s]', scriptId, invokeRequest.scriptBody);
}
}
this.getOrCompileScript(scriptId, invokeRequest.scriptBody).then(
(script) => {
this.executor.executeScript(script, invokeRequest.args, invokeRequest.timeout).then(

View File

@ -23,3 +23,6 @@ logger:
level: "LOGGER_LEVEL"
path: "LOG_FOLDER"
filename: "LOGGER_FILENAME"
script:
script_body_trace_frequency: "SCRIPT_BODY_TRACE_FREQUENCY"

View File

@ -24,3 +24,6 @@ logger:
level: "info"
path: "logs"
filename: "tb-js-executor-%DATE%.log"
script:
script_body_trace_frequency: "1000"