cbdw2014 - profile and monitor with profilebox

Post on 30-Jun-2015

80 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

This session will cover how to tune your Box applications with our ProfileBox module that ties your apps performance metrics right inside of FusionReactor.

TRANSCRIPT

ProfileBoxPerformance Monitoring for ColdBox

Fusion Reactor

Your New Best Friend

FusionReactor: Benes and Feats.

● Real-time monitoring of your ColdFusion servers

● Massive insight into the most granular details of request performance

● Robust notifications● Analytics, UX insights, and 1 billion other

things

ProfileBox

Your Best Friend’s Best Friend

ProfileBox: Introduction

● Profile any and all ColdBox events● Get metrics on layout and view renderings● Trace request collections● Custom annotations for object profiling● CacheBox profiling● Much more!

ProfileBox: Why???

● Performance is the foundation of successful applications

● Complexity + Entropy =

KNOWLEDGE IS POWER!

ProfileBox: Installation(Spoiler: It’s super easy!)

ProfileBox: Installation

1. Purchase ProfileBoxhttp://www.ortussolutions.com/products/profilebox

2. Download ProfileBox module3. Add module to your ColdBox application4. Configure module with your key and email5. Reap the benefits of awesome profiling!

ProfileBox: Installation

// config/settings.json.cfm

{

“licenceKey”: “myLicenseKey”,

“licenseEmail”: “existdissolve@gmail.com”,

...

}

Installation Complete!(Now let’s see it in action!)

Configuring ProfileBox

Configuration Options● profileHandlers

● handlerRegex

● profileViews

● profileObjects

● traceCollections

● traceObjectResults

● traceHandlerResults

● traceAppender

● notifyExceptions

Example #1: Profile an Event

● Prehandler processing● onRequestStart processing● onRequestEnd processing● Basic layout/view rendering

Example #1: History

Example #1: Event Detail

Example #2: View Rendering Metrics

● Prehandler processing● onRequestStart processing● onRequestEnd processing● Basic layout/view rendering● Slow view rendering!

Example #2: View Rendering History

Example #3: Profiling Objects

● Prehandler processing● onRequestStart processing● onRequestEnd processing● Basic layout/view rendering● Hidden object performance cost

Example #3: Object History

Example #4: Custom Notifications

● LogBox integration baked in (min=fatal,

max=info)

● API for more customized notifications

Custom Notification: API Example

getModel( "FRNotify" ).info(

title="Rollout Stress Test (via API)",

message="1000 RPM Threshold Exceeded",

origin="UserAccessService"

);

Custom Notifications Result

User Experience Tracking

// config/settings.json.cfm

“userExperienceTracking”: “true” ...

● Will append tracking script:

<script src="/fusionreactor/UEMJS.cfm" type="text/javascript"></script>

User Experience Tracking

● DB Time: Time in database (includes ORM)

● Web Request Time: Time in ColdFusion/ColdBox

● Network Time: Time from server to browser

● Client Time: Rendering Time

Remember: Perception is everything!

Tips &Suggestions

Tips & Suggestions

● Be modest with your ProfileBox configuration

● Use the Tracer and Notification APIs!

● Experiment, experiment, experiment!

top related