@@ -67,6 +67,19 @@ export class WebServer {
6767 client . collectDefaultMetrics ( { register } )
6868
6969 this . _logger . debug ( "WebServer.configure::registerMetrics" ) ;
70+ if ( Config . prometheus_measure_nodeid ) {
71+ WebServer . openflow_nodered_node_count = new client . Counter ( {
72+ name : 'openflow_nodered_node_count' ,
73+ help : 'Total number of node calls' ,
74+ labelNames : [ "nodetype" , "nodeid" ]
75+ } )
76+ WebServer . openflow_nodered_node_duration = new client . Histogram ( {
77+ name : 'openflow_nodered_node_duration' ,
78+ help : 'Duration of each node call' ,
79+ labelNames : [ "nodetype" , "nodeid" ] ,
80+ buckets : [ 0.1 , 0.3 , 0.5 , 0.7 , 1 , 3 , 5 , 7 , 10 ]
81+ } )
82+ }
7083 if ( ! NoderedUtil . IsNullUndefinded ( register ) ) register . registerMetric ( WebServer . openflow_nodered_node_count ) ;
7184 if ( ! NoderedUtil . IsNullUndefinded ( register ) ) register . registerMetric ( WebServer . openflow_nodered_node_duration ) ;
7285
@@ -165,13 +178,18 @@ export class WebServer {
165178 msg . event = msg . event . substring ( 0 , msg . event . length - 8 ) ;
166179 msg . end = WebServer . openflow_nodered_node_duration . startTimer ( )
167180 WebServer . openflow_nodered_node_count . labels ( msg . event ) . inc ( ) ;
181+ if ( Config . prometheus_measure_nodeid ) WebServer . openflow_nodered_node_count . labels ( msg . event , msg . nodeid ) . inc ( ) ;
168182 WebServer . log_messages [ msg . msgid ] = msg ;
169183 }
170184 if ( msg . event . endsWith ( ".send" ) ) {
171185 msg . event = msg . event . substring ( 0 , msg . event . length - 5 ) ;
172186 const startmessage = WebServer . log_messages [ msg . msgid ] ;
173187 if ( ! NoderedUtil . IsNullUndefinded ( startmessage ) ) {
174- startmessage . end ( { nodetype : startmessage . event } ) ;
188+ if ( Config . prometheus_measure_nodeid ) {
189+ startmessage . end ( { nodetype : startmessage . event , nodeid : msg . nodeid } ) ;
190+ } else {
191+ startmessage . end ( { nodetype : startmessage . event } ) ;
192+ }
175193 delete WebServer . log_messages [ msg . msgid ] ;
176194 }
177195 }
@@ -274,11 +292,17 @@ export class WebServer {
274292
275293 if ( Config . nodered_port > 0 ) {
276294 this . _logger . debug ( "WebServer.configure::server.listen on port " + Config . nodered_port ) ;
277- server . listen ( Config . nodered_port ) ;
295+ server . listen ( Config . nodered_port ) . on ( 'error' , function ( error ) {
296+ WebServer . _logger . error ( error ) ;
297+ process . exit ( 404 ) ;
298+ } ) ;
278299 }
279300 else {
280301 this . _logger . debug ( "WebServer.configure::server.listen on port " + Config . port ) ;
281- server . listen ( Config . port ) ;
302+ server . listen ( Config . port ) . on ( 'error' , function ( error ) {
303+ WebServer . _logger . error ( error ) ;
304+ process . exit ( 404 ) ;
305+ } ) ;
282306 }
283307
284308 } else {
0 commit comments