CBDebugger : Debug your Box apps with ease!

ortussolutions 31 views 43 slides Jun 21, 2024
Slide 1
Slide 1 of 66
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66

About This Presentation

The ColdBox Debugger module is a lightweight performance monitor and profiling tool for ColdBox applications. It can generate a friendly debugging panel on every rendered page or a dedicated visualizer to make your ColdBox application development more excellent, funnier, and greater!


Slide Content

CFCAMP 2024 - Luis Majano
CB DEBUGGER
FOR MODERN DEVELOPMENT

•Computer Engineer
•Coding since year 9
•Creator of all things box!
•Documentation Weirdo!
Luis Majano
CEO Ortus Solutions
@lmajano @ortussolutions

CB Debugger
A tool to debug a Page or API request from one
end to the other and everywhere in-between

install cbdebugger —saveDev
https://cbdebugger.ortusbooks.com/

Overview
Profile & Report
•Incoming Requests
•Database & ORM Calls
•Hyper HTTP Calls
•Async Tracking
•CacheBox
•Interceptions
•Modules
•Objects
•Tracers and Logs
Visualize
•Debugger Dock
•Debugger Dashboard

CB Debugger
Tracking
Options
•Configure each Collector
•Enable/Disable
•Settings

CB Debugger Deep Dive: Coldbox Debugger Dashboard

CB Debugger Dashboard Actions
SelfPolling

CB Debugger Dashboard Actions
Refresh Data

CB Debugger Dashboard Actions
Clear All Trackers

CB Debugger Dashboard Actions
Reinit ColdBox

CB Debugger Dashboard Actions
Java Heap Dump

CB Debugger Dashboard Actions
Turn Debugger Off

CB Debugger
Deep Dive: Coldbox Debugger Dashboard
Request History
Error Pages

CB Debugger
Deep Dive: Coldbox Debugger Dashboard
Request History
Query / ORM Time

CB Debugger
Deep Dive: Coldbox Debugger Dashboard
Request History
Total Time

CB Debugger
Deep Dive: Coldbox Debugger Dashboard
Request History
See The detail of this entire request

CB Debugger
Deep Dive: Coldbox Debugger Dashboard
Request History
Download All Tracking for Request in JSON

CB Debugger
Deep Dive: Coldbox Debugger Dashboard
JSON Tracking Export
Queries
HTTP Request

CB Debugger Deep Dive: Coldbox Debugger Dock

CB Debugger
Deep Dive: Coldbox Debugger Dock
Tracks the current request
Current Coldbox Version

CB Debugger
Application Name (Server.json/.env)
Environment (Server.json/.env)
Deep Dive: Coldbox Debugger Dock
Tracks the current request

CB Debugger
Lucee Version & Java Version (Java 8)
Deep Dive: Coldbox Debugger Dock
Tracks the current request

CB Debugger
CB Debugger Dashboard Home Page
Deep Dive: Coldbox Debugger Dock
Tracks the current request

CB Debugger Deep Dive: Request Tracker
Page/AJAX URL
& Return Status Code
Internal Event Route
Actions

CB Debugger
Total Page Loading Time
DB & Page Load
Deep Dive: Request Tracker

CB Debugger
Deep Dive: Coldbox Debug Tabs

CB Debugger
Deep Dive: Coldbox Debug Tabs
Number of Items / Queries

CB Debugger
Deep Dive: Coldbox Debug Tabs
Total Query Time
Should be equal or less depending on if you actually were using QB / Quick (which calls QB)

CB Debugger
Deep Dive: Coldbox Execution Timers
Automatic Timers
for interceptors

CB Debugger
Deep Dive: Coldbox Execution Timers
Layouts
Timing

CB Debugger
Deep Dive: Coldbox Execution Timers
Internal Run Event
Called by the Layout

CB Debugger
Deep Dive: Add Custom Timers

CB Debugger
Deep Dive: Add Custom Timers

CB Debugger
Deep Dive: Coldbox Execution Profiler
Profiler

CB Debugger
Deep Dive: Coldbox Execution Profiler
Single
Method Profiler
Profile
All Methods

CB Debugger
Deep Dive: WireBox Creations
Wirebox
Creation

CB Debugger
Deep Dive: ColdBox Interceptions

CB Debugger
Deep Dive: ColdBox Event Information
Event {module}: Handler / Action
Event Caching is on and useable on the page
Layout from Layouts folder (overridable)
Route with Placeholder
Route with action filled in from URL
Metadata that can be added via the router
HTML View template in the views folder

CB Debugger
Deep Dive: Coldbox Http Request
Stored
Request
Information
JVM Memory
At the time of
The request

CB Debugger
Deep Dive: Coldbox Http Request
Headers
Cookies
Encoding
Cache Control
Gzip, etc.

CB Debugger
Deep Dive: Coldbox Tracer Messages (Logbox)
Internal Debugging and logging
Pulled directly in and tied with the request

CB Debugger
Deep Dive: Coldbox Request Structures
Use this sparingly, Tracking multiple RC/PRC
collections can crash your server

CB Debugger
Deep Dive:
Enable
Query
Performance

CB Debugger
Deep Dive: Query Performance/Duplication
Query being called
Number of times and code locations it’s being
called from

CB Debugger
Deep Dive:
Query
Performance
CBORM
Total Query Time & Count
Grouped & Ordered
Passed In Params
Formatted SQL for
easy reading

CB Debugger
Deep Dive:
Query
Performance
Lucee/Adobe
Total Query Time & Count
Grouped & Ordered

CB Debugger
Deep Dive:
Query
Performance
QB/Quick
Total Query Time & Count
Grouped & Ordered

CB Debugger
Deep Dive: ColdBox Modules
Modules
Dependencies
Start Times

CB Debugger Deep Dive: ColdBox CacheBox
All Caches Created
Cache Hit Ratio
JVM Memory

CB Debugger Deep Dive: ColdBox CacheBox
Actual Cached Items
Click to see exactly what is in the cache

CB Debugger Deep Dive: ColdBox Async
Scheduler Pool
All the tasks completed/active

CB Debugger
Deep Dive: CB Debugger
Heap Dump

Fall 2024
CB DEBUGGER v5
Sneak Peek

Live Request Debugging
•Comprehensive Performance Monitoring
•Detailed metrics on response times
•System resource usage
•Individual route performance
•Extensive Error and Exception Tracking
•Real-time error logging
•Detailed analysis capabilities
•Full Database Query Profiling
•Logging of all database interactions
•Identifying slow and inefficient queries
•Detailed Request Timeline
•Visual timeline views
•Route-specific performance data

Overview Dashboard
•Memory, CPU & Storage Monitor
•Cache Hits/Misses/Hit Rate
•Slow Database Queries
•Slow & Invalid Routes
•Top Exceptions
•404 Page Monitor
•Slow Outgoing Requests
•Slow Jobs
•Outdated Modules
•Slow Tracers

Overview Dashboard
•Memory, CPU & Storage Monitor
•Cache Hits/Misses/Hit Rate
•Slow Database Queries
•Slow & Invalid Routes
•Top Exceptions
•404 Page Monitor
•Slow Outgoing Requests
•Slow Jobs
•Outdated Modules
•Slow Tracers

Coming Soon
•Complete UI Update
•ColdBox 6, 7, 8 Support
•BoxLang Support
•JDBC Storage
•Parent-Child Transactions
•Thread Tracking

INTO THE BOX 2024
Thank You !
CFCAMP 2024