cbdw2014 - profile and monitor with profilebox

27
ProfileBox Performance Monitoring for ColdBox

Upload: ortus-solutions-corp

Post on 30-Jun-2015

80 views

Category:

Technology


0 download

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

Page 1: CBDW2014 - Profile and Monitor with ProfileBox

ProfileBoxPerformance Monitoring for ColdBox

Page 2: CBDW2014 - Profile and Monitor with ProfileBox

Fusion Reactor

Your New Best Friend

Page 3: CBDW2014 - Profile and Monitor with ProfileBox

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

Page 4: CBDW2014 - Profile and Monitor with ProfileBox

ProfileBox

Your Best Friend’s Best Friend

Page 5: CBDW2014 - Profile and Monitor with ProfileBox

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!

Page 6: CBDW2014 - Profile and Monitor with ProfileBox

ProfileBox: Why???

● Performance is the foundation of successful applications

● Complexity + Entropy =

KNOWLEDGE IS POWER!

Page 7: CBDW2014 - Profile and Monitor with ProfileBox

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

Page 8: CBDW2014 - Profile and Monitor with ProfileBox

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!

Page 9: CBDW2014 - Profile and Monitor with ProfileBox

ProfileBox: Installation

// config/settings.json.cfm

{

“licenceKey”: “myLicenseKey”,

“licenseEmail”: “[email protected]”,

...

}

Page 10: CBDW2014 - Profile and Monitor with ProfileBox

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

Page 11: CBDW2014 - Profile and Monitor with ProfileBox

Configuring ProfileBox

Page 12: CBDW2014 - Profile and Monitor with ProfileBox

Configuration Options● profileHandlers

● handlerRegex

● profileViews

● profileObjects

● traceCollections

● traceObjectResults

● traceHandlerResults

● traceAppender

● notifyExceptions

Page 13: CBDW2014 - Profile and Monitor with ProfileBox

Example #1: Profile an Event

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

Page 14: CBDW2014 - Profile and Monitor with ProfileBox

Example #1: History

Page 15: CBDW2014 - Profile and Monitor with ProfileBox

Example #1: Event Detail

Page 16: CBDW2014 - Profile and Monitor with ProfileBox

Example #2: View Rendering Metrics

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

Page 17: CBDW2014 - Profile and Monitor with ProfileBox

Example #2: View Rendering History

Page 18: CBDW2014 - Profile and Monitor with ProfileBox

Example #3: Profiling Objects

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

Page 19: CBDW2014 - Profile and Monitor with ProfileBox

Example #3: Object History

Page 20: CBDW2014 - Profile and Monitor with ProfileBox

Example #4: Custom Notifications

● LogBox integration baked in (min=fatal,

max=info)

● API for more customized notifications

Page 21: CBDW2014 - Profile and Monitor with ProfileBox

Custom Notification: API Example

getModel( "FRNotify" ).info(

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

message="1000 RPM Threshold Exceeded",

origin="UserAccessService"

);

Page 22: CBDW2014 - Profile and Monitor with ProfileBox

Custom Notifications Result

Page 23: CBDW2014 - Profile and Monitor with ProfileBox

User Experience Tracking

// config/settings.json.cfm

“userExperienceTracking”: “true” ...

● Will append tracking script:

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

Page 24: CBDW2014 - Profile and Monitor with ProfileBox

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!

Page 25: CBDW2014 - Profile and Monitor with ProfileBox

Tips &Suggestions

Page 26: CBDW2014 - Profile and Monitor with ProfileBox

Tips & Suggestions

● Be modest with your ProfileBox configuration

● Use the Tracer and Notification APIs!

● Experiment, experiment, experiment!