8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 1/27
Tools, techniques and best practices for debugging and tuning
Xcelsius dashboards Session 0107
Ilya Blyakhman,
Allstate
Insurance,
BI
COE
September 10‐13, 2012
Orlando, Florida
September 11, 2012
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 2/27
• The Allstate Corporation is the
nation’s largest publicly held
personal lines insurer.
• A Fortune 100 company with
$132.7 billion in assets
About Allstate Insurance
• Allstate is
reinventing
protection
and
retirement
to
help
individuals in approximately 17 million households protect what
they have today and better prepare for tomorrow
• Allstate is widely known through the “You’re In Good Hands
With Allstate®” slogan.
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 3/27
• Understanding Xcelsius “under the hood”
• Debugging Best practices
• Xcelsius Template and pre‐deployment checklist
• Debugging Xcelsius Dashboards tools and techniques
• Identifying bottlenecks / HTTP debuggers
• Performance tuning
• General design recommendations
• Connected dashboards
• Monitoring / auditing
capabilities
• Q&A
Agenda
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 4/27
Works best for
• Highly interactive visualizations
• Interactions defined
by
dashboard
designer
(predefined
path)
• KPIs and aggregated data display (shows big picture)
Was not design for
• Native handling of large datasets
• Detail reporting (no paging, caching, native export
capabilities)
• On‐
the‐
fly
aggregation
of
large
datasets
• Complex applications (no complex business logic processing,
limited debugging capabilities)
Understanding Xcelsius use case
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 5/27
Architecture – Design Time
Understanding Xcelsius “under the hood”
Adobe Flash
Data
Model
Data Source Tier Data Source Tier Business Logic Tier Business Logic Tier Visualization Tier (Designer)Visualization Tier (Designer)
Business Objects
Universe
Crystal, WebI
Static Data
Deployment tier Deployment tier
InfoView
Xcelsius Components
Database
External Data
Formulas
Xcelsius
Components
Static Data
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 6/27
Architecture – Run Time
Understanding Xcelsius “under the hood”
Adobe Flash
Data Source Tier Data Source Tier Business Logic Tier Business Logic Tier Visualization Tier Visualization Tier
Business Objects
Universe
Crystal, WebI
Deployment tier Deployment tier
InfoView
Database
External Data
Formulas
Xcelsius
Components
Static Data
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 7/27
Xcelsius dashboard load and initialization
Understanding Xcelsius “under the hood”
`
Database
External Data
Formulas
Xcelsius
Components
Static Data
Please wait ... Loading dataDisplay data loadedduring initialization
Database
External Data
Formulas
Xcelsius
Components
22 33 4411
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 8/27
Initial Load (high level)
1. Flash file (.swf) download and load Flash player
2. Flash load/initialization (initializing dialog)
1. Show Initializing
Splash
screen
2. Load static data
3. Load external data (QaaWS, WS, etc) triggered by “Refresh
before components are loaded” on Connection
4. Load Xcelsius
components
5. Calculate Excel formulas and set component bindings
3. Display Dashboard
4. Data load (after initialization complete)
1. Load external
data
(QaaWS,
WS,
etc)
triggered
by
“Refresh
after components are loaded” on Refresh button
2. Calculate Excel formulas
Understanding Xcelsius “under the hood”
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 9/27
Issues
1. Flash file Download
1. Connection bandwidth
2. Flash file
size
2. Flash initialization and load time
1. Hardware (CPU, Memory)
2. Dashboard Flash
1. Complexity of the component model 2. Use of graphics
3. Static data
4. Formulas5. External Data load
Understanding Xcelsius “under the hood”
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 10/27
Standards and Best Practices
• UI/Style guidelines
• Performance guidelines for dashboard and data access
• Data interaction
and
integration
with
other
platforms
• Define use of colors and labels to document Excel Data Model
• Use of Xcelsius Template
Pre‐deployment
checklist
• Adherence to standards and best practices
• Remove Test Data, unused components, formulas, etc
• Setup defaults
• Analyze visual
consistency
• Check size and complexity of the dashboard
• Use of Xcelsius Template
Debugging Best practices – Standards and checklists
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 11/27
An ounce of prevention is worth a pound of cure
• Visual: Common Layout, Preset Logo, Theme, Color Scheme
• Common UI Elements: Title, Data Refreshed as Of, Help, About,
Refresh, Print, Reset, Copyright, Contact, Navigation
Debugging Best practices ‐ Xcelsius Template
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 12/27
An ounce of prevention is worth a pound of cure
• Data Model:
• Documenting data
model
– Color
scheme
/ labels
• Excel Tabs: Global, Help, About, FlashVar, Visibility, Static
Data, Navigation
• Integration:
Audit/Monitoring, QaaWS/Web
service,
Integration
with detail reporting (OpenDocument, WSS, etc)
Debugging Best practices ‐ Xcelsius Template
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 13/27
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 14/27
Xcelsius debugging
• Design time
• Grid like UI components bound to data ranges in question to
preview data
• Snapshot Current Excel Data (Xcelsius menu File‐Snapshot –
Current Excel Data)
• Preview vs. Export
• Run Time
• Grid like UI components bound to data ranges possibly hidden
until special action will switch dashboard into debug mode
Debugging Xcelsius: tools and techniques
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 15/27
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 16/27
• WEB/HTTP Debuggers/Proxies/Monitors
• Fiddler (http://www.fiddler2.com)
• Charles (http://www.charlesproxy.com )
• HTTPWatch (http://www.httpwatch.com )
WEB/HTTP Debuggers/Proxies/Monitors
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 17/27
• Proxies IE, FF, Chrome, MS Office, Xcelsius Designer and others
• Enables remote machine HTTP
• Installing Fiddler
• Starting Fiddler
• Analyzing HTTP or HTTPS traffic
• Working with sessions
• Start/Stop session
capture
• Break points
• Filters
• Saving sessions
• Replaying session
• Altering session
Using Fiddler
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 18/27
Dashboard performance profiling
• Dashboard load and initialization
• Load timeline
• User location
and
bandwidth
impact
• Web Services (WS)/Query as Web Service (QaaWS)/BIWS/Live
• Web Service URL
• Simultaneous WS calls to the same server (IE6,7=2, IE8,9=6)
• Identifying QaaWS
calls
• Parameters
• Replaying and altering WS calls
• Response size
Using Fiddler: Performance profiling
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 19/27
Debugging using Fiddler
• Dashboard load
• FlashVars
• BOE Session
• Web Services/QaaWS
• Web Service URL
• Identifying QaaWS
• Parameters• Enterprise Authentication and Password security
• Cross Domain policy crossdomain.xml
• Xcelsius Errors 2032, 2170
• OpenDocument Debugging
Using Fiddler
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 20/27
Problem statement
• ROI for dashboards tied to usage metrics
• There is no audit/usage tracking capabilities for Xcelsius
dashboards available in BOE XI3.1 or hosted outside of BOE
environment
Monitoring and audit/usage tracking
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 21/27
Solution
• V1 Parsing web server logs
• V2 Audit
web
service
(custom
.Net
solution)
• Enterprise dashboards master list
• Enterprise dashboard
• audit database
• universe
• set of Usage Reports and dashboards
Monitoring and audit/usage tracking
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 22/27
Audit web service
• Audit web service added to each Enterprise dashboard
• Best practice
• Part of the Xcelsius template
• Fires on load
• Returns User Windows ID, even if user logged on to BOE
under different
ID
Monitoring and audit/usage tracking
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 23/27
Usage Tracking Universe/Dashboard
• Top/bottom 10 Dashboards/Users
• Historical dashboard
usage
patterns
• Master Dashboard List
• Dashboard ROI evaluation
• Non usage can be tracked
• Helps identify
key
users/departments
Monitoring and audit/usage tracking
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 24/27
Connected dashboards
• List 1‐3 key points that attendees will take away from your
session.
Performance tuning
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 25/27
• Defining dashboard development standards, template and
pre‐deployment
checklist
significantly
simplifies
dashboard
development, debugging and performance optimization.
• HTTP Debugging tool like Fiddler provides ability to
monitor, drill
into
and
replay
http
traffic
between
connected dashboards and servers. It considerably
simplifies dashboard debugging and optimization.
• Audit/Monitoring service provides efficient way to identify
Xcelsius dashboard usage and ultimately ROI
Key Learnings
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 26/27
Contact
Ilya Blyakhman
Ilya.Blyakhman at allstate.com
Questions
8/10/2019 Optional Techniques and Best Practices for Debugging and Tuning Xcelsius Dashboards
http://slidepdf.com/reader/full/optional-techniques-and-best-practices-for-debugging-and-tuning-xcelsius-dashboards 27/27
Thank you for participating.
Please provide
feedback
on
this
session
by
completing a short survey via the event mobile application.
SESSION CODE:
0107
Learn more
year
‐round
at
www.asug.com