New Ext* telemetry A complete picture of the Part- and Blade-rendering timeline Separates Ibiza from extension costs …including shared responsibilities.

Slides:



Advertisements
Similar presentations
PHP Reusing Code and Writing Functions.
Advertisements

OpenMP Optimization National Supercomputing Service Swiss National Supercomputing Center.
My first computer: The Apple ][ It wanted to be programmed.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Kernel memory allocation
Toward Efficient Support for Multithreaded MPI Communication Pavan Balaji 1, Darius Buntinas 1, David Goodell 1, William Gropp 2, and Rajeev Thakur 1 1.
Workloads Experimental environment prototype real sys exec- driven sim trace- driven sim stochastic sim Live workload Benchmark applications Micro- benchmark.
Computer ArchitectureFall 2008 © November 10, 2007 Nael Abu-Ghazaleh Lecture 23 Virtual.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Computer ArchitectureFall 2007 © November 21, 2007 Karem A. Sakallah Lecture 23 Virtual Memory (2) CS : Computer Architecture.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Chapter 1 and 2 Computer System and Operating System Overview
(c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
Sitefinity Performance and Architecture
Kuali Budget Construction Training Catherine Maddaford KBC Administrator.
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
February Marta Garcia Carnero (CAD Support) 1.General 2.CATIA field 3. SmarTeam field February
Configuring the Windows 2000 Environment. Overview Configuring and Managing Hardware Configuring Display Options Configuring System Settings Configuring.
Multi-core Programming Thread Profiler. 2 Tuning Threaded Code: Intel® Thread Profiler for Explicit Threads Topics Look at Intel® Thread Profiler features.
Microsoft ASP.NET: An Overview of Caching. 2 Overview  Introduction to ASP.NET caching  Output caching  Data caching  Difference between Data Caching.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
MINT Working Group Jan 9-10 at Harris FBC Melbourne, FL.
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
23-Oct-15 Abstract Data Types. 2 Data types A data type is characterized by: a set of values a data representation, which is common to all these values,
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
CacheLab Recitation 7 10/8/2012. Outline Memory organization Caching – Different types of locality – Cache organization Cachelab – Tips (warnings, getopt,
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
Make it, Don’t Fake it Leap Forward with Eyeblaster Workshop™ for Flash December 20,2007.
CS333 Intro to Operating Systems Jonathan Walpole.
Keeping Computers Clean: Optimizing PC Performance.
Transportation Agenda 187. Transportation About Web Parts Web parts are reusable “containers” that reside on web pages and interact with lists, libraries.
Service Pack 2 System Center Configuration Manager 2007.
Reuse text and other document parts: Introducing building blocks Swap, format, and remove building blocks You’ve added a cover page to your document. What.
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization Techniques by Amit.
Exploiting Value Locality in Physical Register Files Saisanthosh Balakrishnan Guri Sohi University of Wisconsin-Madison 36 th Annual International Symposium.
Faculty Load and Compensation Part 2 Bruce Schermerhorn, Human Resources Consultant Antonio Trepesowsky, Student Consultant Sungard Higher Education.
Hitting the SQL Server “Go Faster” Button Rob Douglas #509 | Brisbane 2016.
Discussion 4 eecs 183 Hannah Westra.
Maurice Herlihy and J. Eliot B. Moss,  ISCA '93
Portals: Background, Development & Conversion
Jonathan Walpole Computer Science Portland State University
Transactions and Reliability
EditScope – Managing unsaved edits in Ibiza
Ad-blocker circumvention System
Hitting the SQL Server “Go Faster” Button
TE004 Smart Change Management with Sage CRM Component Manager
Chapter Lessons Understand the Macromedia Flash workspace
Atomicity CS 2110 – Fall 2017.
Chrome Developer Tools
Morgan Kaufmann Publishers
Parallel Architectures
Flight Recorder in OpenJDK
Text Editors Vim (Chapter 6) Emacs (Chapter 7)
DHTML Javascript Internet Technology.
Hitting the SQL Server “Go Faster” Button
DTC Troubleshooting and Support Webinar
ECE 445 – Computer Organization
DHTML Javascript Internet Technology.
Xen Network I/O Performance Analysis and Opportunities for Improvement
Transactions, Locking and Query Optimisation
Data Architecture DataView holds ref count on cache entry
Two methods to observe tutorial
Vue 3.0 Updates Evan You VueConf TO, Nov
[Robert W. Sebesta, “Programming the World Wide Web
Module IV Memory Organization.
Indexes and Performance
Монголын даатгалын зах зээлийн бодлогын асуудлууд
Presentation transcript:

New Ext* telemetry A complete picture of the Part- and Blade-rendering timeline Separates Ibiza from extension costs …including shared responsibilities

New Ext* telemetry – Extension focus ExtPartVMAcquired View model ctor Proxying the view model to the Shell’s IFrame Constructing DOM ExtPartInitialDataReceived Loading of essential data Mutating view model (as well as proxying changes to Shell’s IFrame) ExtPartFullDataReceived See ExtPartInitialDataReceived, but for slower-loading, non-essential data

New Ext* telemetry Reduce your view model sizes Name private properties with underscore prefix Use CTRL-ALT-d to see VM sizes, dump VMs to console Avoid many, incremental observable changes Try to update your view model atomically Look for new console warnings in dev mode The cost of rendering the view is a shared responsibility Ibiza – Cheap proxying, slim down view model contracts, efficient controls Extension – Smaller view models, fewer/atomic observable changes

New “revealContent” API Improve perceived responsiveness User can interact sooner Remove the Part/Blade-loading spinner early! In-content spinner doesn’t block user interaction Opaque spinner while: extension loads essential data loads Remove spinner when essential/fast data is loaded Part fully loaded ---

New API  container.revealContent() Before public onInputsSet(inputs: MyPartInputs): Promise { return this._dataView.fetch(inputs.resourceId); }    Remove the spinner early! This promise controls error experience After public onInputsSet(inputs: MyPartInputs): Promise { return Q.all([ this._minimumViableDataView.fetch(inputs.resourceId).then(() => { container.revealContent(); }), this._slowerLoadingDataView.fetch(inputs.resourceId) ]); } Lock on measurement

Applications of ‘revealContent’ Asset Part Essentials Part Create Blades *** All other extension Parts / Blades ***

New DataCache option – ‘extendEntryLifetimes’ DataCache entries are ref-counted export class DataContext { ... public resourceEntities = new MsPortalFx.Data.EntityCache<Resource, string>({ ... extendEntryLifetimes: true, }); } With ‘extendEntryLifetimes’… DataCache will retain unreferenced entries for ~1 minute Users who revisit your Blade will reuse cached data Ibiza is adding new telemetry to monitor cache efficiency …and measure/maximize impact of this optimization

New DataCache option – ‘extendEntryLifetimes’ Caching data longer requires extension changes! Examine your DataContext “save” operations Sync you DataCaches after “save” Call refresh[All], applyChanges, forceRemove Return right value from EditScopeCache saveEditScopeChanges

Improve your perf! Consult new Ext* telemetry markers …and act to improve your spans Optimize your CORS calls Cache your extension’s home page Apply ‘container.revealContent()’ Show users their useful Parts / Blades faster! Apply ‘extendEntryLifetimes’ Eliminate data-loading from frequently revisited Parts / Blades