Ability to trace script body executed by JS Executor microservice.
This commit is contained in:
		
							parent
							
								
									8fdfacf492
								
							
						
					
					
						commit
						34bc51903c
					
				@ -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
 | 
			
		||||
@ -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