Commit 34bc51903c2a97c35c16d51e8b725c81007cbb3a
1 parent
8fdfacf4
Ability to trace script body executed by JS Executor microservice.
Showing
4 changed files
with
20 additions
and
2 deletions
... | ... | @@ -15,16 +15,20 @@ |
15 | 15 | */ |
16 | 16 | 'use strict'; |
17 | 17 | |
18 | -const logger = require('../config/logger')('JsInvokeMessageProcessor'), | |
18 | +const config = require('config'), | |
19 | + logger = require('../config/logger')('JsInvokeMessageProcessor'), | |
19 | 20 | Utils = require('./utils'), |
20 | 21 | js = require('./jsinvoke.proto').js, |
21 | 22 | KeyedMessage = require('kafka-node').KeyedMessage, |
22 | 23 | JsExecutor = require('./jsExecutor'); |
23 | 24 | |
25 | +const scriptBodyTraceFrequency = Number(config.get('script.script_body_trace_frequency')); | |
26 | + | |
24 | 27 | function JsInvokeMessageProcessor(producer) { |
25 | 28 | this.producer = producer; |
26 | 29 | this.executor = new JsExecutor(); |
27 | 30 | this.scriptMap = {}; |
31 | + this.executedScriptsCounter = 0; | |
28 | 32 | } |
29 | 33 | |
30 | 34 | JsInvokeMessageProcessor.prototype.onJsInvokeMessage = function(message) { |
... | ... | @@ -74,6 +78,13 @@ JsInvokeMessageProcessor.prototype.processCompileRequest = function(requestId, r |
74 | 78 | JsInvokeMessageProcessor.prototype.processInvokeRequest = function(requestId, responseTopic, invokeRequest) { |
75 | 79 | var scriptId = getScriptId(invokeRequest); |
76 | 80 | logger.debug('[%s] Processing invoke request, scriptId: [%s]', requestId, scriptId); |
81 | + this.executedScriptsCounter++; | |
82 | + if ( this.executedScriptsCounter >= scriptBodyTraceFrequency ) { | |
83 | + this.executedScriptsCounter = 0; | |
84 | + if (logger.levels[logger.level] >= logger.levels['debug']) { | |
85 | + logger.debug('[%s] Executing script body: [%s]', scriptId, invokeRequest.scriptBody); | |
86 | + } | |
87 | + } | |
77 | 88 | this.getOrCompileScript(scriptId, invokeRequest.scriptBody).then( |
78 | 89 | (script) => { |
79 | 90 | this.executor.executeScript(script, invokeRequest.args, invokeRequest.timeout).then( | ... | ... |