+ All Categories
Home > Technology > CBDW2014 - Profile and Monitor with ProfileBox

CBDW2014 - Profile and Monitor with ProfileBox

Date post: 30-Jun-2015
Category:
Upload: ortus-solutions-corp
View: 80 times
Download: 0 times
Share this document with a friend
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.
27
ProfileBox Performance Monitoring for ColdBox
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!


Recommended