Ability to trace script body executed by JS Executor microservice.
This commit is contained in:
parent
8fdfacf492
commit
34bc51903c
@ -4,4 +4,5 @@ TB_KAFKA_SERVERS=kafka:9092
|
||||
LOGGER_LEVEL=info
|
||||
LOG_FOLDER=logs
|
||||
LOGGER_FILENAME=tb-js-executor-%DATE%.log
|
||||
DOCKER_MODE=true
|
||||
DOCKER_MODE=true
|
||||
SCRIPT_BODY_TRACE_FREQUENCY=1000
|
||||
@ -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(
|
||||
|
||||
@ -23,3 +23,6 @@ logger:
|
||||
level: "LOGGER_LEVEL"
|
||||
path: "LOG_FOLDER"
|
||||
filename: "LOGGER_FILENAME"
|
||||
|
||||
script:
|
||||
script_body_trace_frequency: "SCRIPT_BODY_TRACE_FREQUENCY"
|
||||
|
||||
@ -24,3 +24,6 @@ logger:
|
||||
level: "info"
|
||||
path: "logs"
|
||||
filename: "tb-js-executor-%DATE%.log"
|
||||
|
||||
script:
|
||||
script_body_trace_frequency: "1000"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user