@@ -76,16 +76,16 @@ monitor_types:
7676 base_interface : " lucee.runtime.monitor.Monitor"
7777 trigger : " Synchronous during specific operations"
7878 thread_context : " Operation execution thread"
79-
79+
8080 operations :
81- query :
81+ query :
8282 call : " ((ConfigWebPro)pageContext.getConfig()).getActionMonitorCollector().log(pageContext, 'query', 'Query', executionTime, queryResult)"
8383 lock :
8484 call : " ((ConfigWebPro)pc.getConfig()).getActionMonitorCollector().log(pageContext, 'lock', 'Lock', executionTime, lockName + ':' + timeoutInMillis)"
8585 mail :
8686 call : " ((ConfigWebPro)config).getActionMonitorCollector().log(config, 'mail', 'Mail', executionTime, properties)"
8787 cache : " Cache operations"
88-
88+
8989 methods :
9090 log_request :
9191 signature : " void log(PageContext pc, String type, String label, long executionTime, Object data)"
@@ -96,7 +96,7 @@ monitor_types:
9696 label : " Operation label"
9797 executionTime : " Duration in milliseconds"
9898 data : " Operation-specific data"
99-
99+
100100 log_background :
101101 signature : " void log(ConfigWeb config, String type, String label, long executionTime, Object data)"
102102 context : " Outside HTTP request context"
@@ -106,7 +106,7 @@ monitor_types:
106106 label : " Operation label"
107107 executionTime : " Duration in milliseconds"
108108 data : " Operation-specific data"
109-
109+
110110 get_data :
111111 signature : " Query getData(Map<String, Object> arguments)"
112112 purpose : " Return collected data for reporting"
@@ -121,15 +121,15 @@ monitor_types:
121121 trigger : " End of each HTTP request"
122122 thread_context : " Request processing thread"
123123 async_support : true
124-
124+
125125 methods :
126126 log :
127127 signature : " void log(PageContext pc, boolean error)"
128128 timing : " Called at request completion"
129129 parameters :
130130 pc : " Page context with request data"
131131 error : " True if request resulted in error"
132-
132+
133133 get_data :
134134 signature : " Query getData(ConfigWeb config, Map<String, Object> arguments)"
135135 scope : " Single web context data"
@@ -144,13 +144,13 @@ monitor_types:
144144 trigger : " Timer-based (default 5000ms)"
145145 thread_context : " Dedicated interval monitoring thread"
146146 request_context : false
147-
147+
148148 methods :
149149 log :
150150 signature : " void log()"
151151 timing : " Called at regular intervals"
152152 context : " No PageContext available"
153-
153+
154154 get_data :
155155 signature : " Query getData(Map<String, Object> arguments)"
156156 scope : " System-wide interval data"
@@ -168,33 +168,33 @@ base_interface:
168168 config : " Web configuration instance"
169169 name : " Monitor name from configuration"
170170 arguments : " Additional configuration parameters"
171-
171+
172172 get_name :
173173 signature : " String getName()"
174174 purpose : " Return monitor identifier"
175-
175+
176176 is_enabled :
177177 signature : " boolean isEnabled()"
178178 purpose : " Runtime enable/disable check"
179179
180180implementation_details :
181181 loading_method : " ConfigFactoryImpl.loadMonitors()"
182182 loading_context : " Server configuration initialization"
183-
183+
184184 constructor_resolution :
185185 with_config :
186186 signature : " public ClassName(ConfigServer configServer)"
187187 detection : " Reflector.getConstructorInstance()"
188-
188+
189189 default :
190190 signature : " public ClassName()"
191191 fallback : " ClassUtil.newInstance(clazz)"
192-
192+
193193 wrapper_classes :
194194 action : " ActionMonitorWrap for non-ActionMonitor objects"
195195 request : " RequestMonitorWrap for non-RequestMonitor objects"
196196 interval : " IntervallMonitorWrap for non-IntervallMonitor objects"
197-
197+
198198 async_implementation :
199199 wrapper : " AsyncRequestMonitor"
200200 condition : " async=true in configuration"
@@ -206,12 +206,12 @@ storage:
206206 factory : " ActionMonitorFactory.getActionMonitorCollector()"
207207 storage_method : " configServer.setActionMonitorCollector()"
208208 access : " ((ConfigWebPro)config).getActionMonitorCollector()"
209-
209+
210210 request_monitors :
211211 type : " RequestMonitor[] array"
212212 storage_method : " configServer.setRequestMonitors()"
213213 wrapper : " RequestMonitorProImpl"
214-
214+
215215 interval_monitors :
216216 type : " IntervallMonitor[] array"
217217 storage_method : " configServer.setIntervallMonitors()"
@@ -223,7 +223,7 @@ cfml_integration:
223223 types : ["action", "request", "interval"]
224224 return_type : " Query"
225225 implementation : " Calls monitor.getData(arguments)"
226-
226+
227227 get_monitoring_info :
228228 signature : " getMonitoringInfo()"
229229 return_type : " Struct"
@@ -233,7 +233,7 @@ error_handling:
233233 monitor_failure :
234234 logging : " LogUtil.logGlobal(config, Log.LEVEL_INFO, class, message)"
235235 continuation : " Processing continues with remaining monitors"
236-
236+
237237 runtime_exceptions :
238238 action_monitors : " Log error, continue operation"
239239 request_monitors : " Log error, continue request processing"
@@ -244,31 +244,31 @@ threading:
244244 execution : " Synchronous in operation thread"
245245 performance_impact : " Direct impact on operation timing"
246246 recommendations : " Keep implementations lightweight"
247-
247+
248248 request_monitors :
249249 synchronous :
250250 execution : " End of request thread"
251251 blocking : " Delays request completion"
252-
252+
253253 asynchronous :
254254 wrapper : " AsyncRequestMonitor"
255255 execution : " Background thread pool"
256256 impact : " No request delay"
257-
257+
258258 interval_monitors :
259259 thread : " Dedicated system monitoring thread"
260260 isolation : " Separate from request processing"
261261 interval : " 5000ms default"
262262
263263type_constants :
264264 action : " Monitor.TYPE_ACTION"
265- request : " IntervallMonitor.TYPE_REQUEST"
265+ request : " IntervallMonitor.TYPE_REQUEST"
266266 interval : " IntervallMonitor.TYPE_INTERVAL"
267267
268268class_definitions :
269269 resolution_order : " OSGi bundle > Maven > Standard classpath"
270270 loading : " ClassDefinition.getClazz()"
271-
271+
272272 formats :
273273 osgi :
274274 bundleName : " OSGi symbolic name"
@@ -283,12 +283,12 @@ logging:
283283 level : " INFO"
284284 method : " LogUtil.logGlobal()"
285285 message : " loaded {type} monitor [{className}]"
286-
286+
287287 monitor_initialization :
288- level : " INFO"
288+ level : " INFO"
289289 method : " LogUtil.logGlobal()"
290290 message : " initialize {type} monitor [{className}]"
291-
291+
292292 runtime_errors :
293293 method : " LogUtil.logGlobal(config, className, throwable)"
294294 level : " ERROR"
@@ -301,9 +301,9 @@ dependencies:
301301 - " lucee.runtime.config.ConfigWeb"
302302 - " lucee.runtime.PageContext"
303303 - " lucee.runtime.type.Query"
304-
304+
305305 optional :
306306 - name : " osgi-framework"
307307 purpose : " Bundle class loading"
308308 - name : " servlet-api"
309- purpose : " HTTP request monitoring"
309+ purpose : " HTTP request monitoring"
0 commit comments