Optimization
It's important to optimize any application before launching it on a large scale, but this is particularly true of modern Mobile Applications and Web Applications, as they may potentially experience viral (also known as "web-scale") growth. Characteristics of these applications is "bursty traffic" and "sudden bandwidth needs" as at particular times of day, week, month or year users flock to the site; while other times it may sit idle or sparsely used. As a result there is a high need to rapidly scale modern applications to peak demand, and where practical/possible, be able to scale capacity back down in order to save on costs. The perfect optimization pattern is thus one which can support the highest possible demands but cost the least amount of money by only scaling up when necessary, and scaling down resources in all other occasions.
Contents
Specifications
- Apdex: http://www.apdex.org/[1][2]
Metrics
Organizational Performance
- wikipedia: Mean down time (MDT)
- wikipedia: Mean time to detection (MTTD)
- wikipedia: Mean time to first failure (MTTF, or, Mean time to identification-MTTI)
- wikipedia: Mean time to recovery (MTTR)
- wikipedia: Mean time to repair (MTTre)
- wikipedia: Mean time between failures (MTBF)
- Mean Time To Identification (MTTI)[3]
- Mean Lead Time (MLT)
- Change Size (i.e. commits/release, issues/release, etc)
- Change Failure Rate (CFR)
- Automated Test pass/fail rate (%)
- Defect Escape Rate (DER)
- Deployment Frequency (DF)
- Deployment Time (DT)
- Failed Deployments
For more organizational performance metrics, see: DevOps metrics
Website Performance
- Critical Rendering Path (CRP)[4][5][6][7]
- Push Render Pre-cache Lazy-load (PRPL) pattern[8][9][10][11][12]
For more on how Search Engines like google measure and weight "website performance" metrics, see Web Vitals
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
OGSM
- wikipedia: OGSM (Objectives, Goals, Strategies and Measures)
OKR
- wikipedia: OKR (Objectives & Key Results)
- OKR Examples: https://okrexamples.co | EXAMPLE - Software/Engineering/R&D
[35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55]
KRA
Key Result Area (KRA) is a metric representative of individual performance towards an organizational goal.
- Difference Between "Key Performance Indicators" (KPI) and "Key Result Areas" (KRA): https://keydifferences.com/difference-between-kpi-and-kra.html[56]
KRI
KPI
Key Performance Indicators (KPIs) are types of events, transaction, or simply actions taken upon a thing, which are theorized to be beneficial to measure. The purpose of the measurement is most useful when it is representative of progress towards achieving a specific goal.
The following are the most commonly used general KPIs across all sizes and types of companies:
- Bounce rate
- Page view time (aka. time-on-page, but also worth measuring cumulative time-on-site)
- Content view time (time spent on specific or cumulative on all content within a page)
- Content completions (i.e. video/audio/ad complete views)
- Conversion rate
- Purchase rate
- Subscription rate
- Monthly Recurring Revenue (MRR)
- Cost of Goods Sold (COGS)
- Average Revenue Per Unit (ARPU)
- Cost Per Acquisition (CPA; single event)
- Customer Acquisition Cost (CAC; repeat events)
- Customer Life-Time Value (LTV)
- Customer attrition/loss rate (Churn)
- Compound Annual Growth Rate (CAGR)
Some E-Commerce specific metrics include
- Page Load time
- API request/response time:
- Average order value
- Products added to cart
- Products ordered (depth/breadth)
- Total Revenue per Product line
- Products Browsed
- Total pages visited
- Frequency of Page visits
- Total visits by all users (per page)
- Click path
- Purchase path (also known as "conversion funnel")
Advertising metrics:
- Return On Advertising Spend (ROAS)
Social Media has its own set of interaction-focused metrics:
- View count
- Open rate (by target segment)
- Share rate
- Comment count
- Like/vote count (and relates "+/-" trends)
- Subscribe rate
- Notification opt-in rate
[66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]
KPP
Key Performance Parameters (KPP) are the individual aspects of a KPI that can be experimented with to measure their impact on the KPI.
KPM
KPM is the measurement of a KPI (i.e. # of an event, % ROI or rates, $ amount, etc).
- Key Performance Metrics: https://www.executivepastoronline.com/strategic-plan-key-performance-measures-kpms/ (KPM)
SLA
Service Level Agreement (SLA). [98] [99]
SLO
Service Level Objective (SLO). [100] [101] [102]
SLI
Service Level Indicator (SLI). [103]
Monitoring
A large part of software or hardware optimization is monitoring, where performance is analyzed over time, and errors are logged, flagged and shared with team members, ideally in real-time.
Network
System
Website
BAM
Business activity monitoring (BAM)
BTM
Business transaction management (BTM)
Disaster recovery
Performance
Performance is broadly the capabilities of a system to meet the demands of end-users. It can be tested, reported on, and measured over time, via various types of Performance Testing. [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117]
Profiler
- wikipedia: Profiling (computer programming)
- NetBeans - Profiler: https://profiler.netbeans.org/
- Eclipse - Profiler: http://www.jvmmonitor.org/index.html
JMX
- jConsole: http://openjdk.java.net/tools/svc/jconsole/ (Oracle's default JMX tool bundled with Java JDK)[120][121][122][123][124][125][126][127]
- jProfiler: https://www.ej-technologies.com/products/jprofiler/overview.html
- VisualVM: https://visualvm.java.net/profiler.html | ECLIPSE
- jRAT: http://jrat.sourceforge.net/ (Runtime Analysis Toolkit)
- jiProf: https://sourceforge.net/projects/jiprof/ (Java Interactive Profiler)
- JMP - Java Memory Profiler: http://www.khelekore.org/jmp/ (written in C but designed to monitor JVM)
- jStopWatch: http://jstopwatch.sourceforge.net/ | DOCS (an improvement on the System.currentTimeMillis() basic native API command in Java)
APM
Application Performance Management (commonly abbreviated APM, wherein the "M" could also refer to "Monitoring") is the monitoring and/or management of performance and availability of software applications. APM strives to detect and diagnose complex application performance problems to maintain an expected and minimally acceptable level of service. APM is "the translation of IT metrics into business value" in this sense, with aims of minimizing errors, minimizing loading times, managing resource usage (CPU, memory, storage, etc) and maximizing efficiency as it pertains to the monitored applications in order to deliver business products and services with a high degree of availability, reliability and without technical impediments to customers. APM can be accomplished through Performance Testing, real-time server monitoring, and constant database/application tuning.
- wikipedia: Application performance management (APM)
- AppDynamics: http://www.appdynamics.com/ | JAVA profiling (application performance monitoring)[130]
- NewRelic: http://newrelic.com/
- Monitis: http://www.monitis.com/[131][132][133][134]
- DynaTrace: https://www.dynatrace.com/
- Stackify: http://stackify.com/
- Xymon -- systems & network monitor: https://xymon.sourceforge.io/ (formerly part of bbgen toolkit infrastructure monitoring platform called "BigBrother")[135]
Log Analysis
Splunk
Splunk is a leading Log Analyzer tool.
- Splunk: https://splunk.com
- Overview of the Splunk SDK for Java: http://dev.splunk.com/java[140]
- Set up and use Splunk's HTTP Event Collector: http://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector Splunk JS logging | Bunyan NodeJS/stream logging[141][142][143]
OverOps
OverOps (originally Takipi) is a comprehensive solution that offers:
- Log Analysis
- Debugging
- Profiling
- Line-of-code Error detection/traceability
- Pre-emptive problem notications (so your team finds out about bugs before customers)
OverOps adds a link to every error in your logs directly to its cause and enables you to see DEBUG log statements and call stacks for any log error directly from the JVM, even if they were not written to the log file.
- OverOps: http://www.overops.com | DEMO (line-by-line visual exception debugging tool)
- OverOps - Splunk integration: https://www.overops.com/splunk
[145] [146] [147] [148] [149] [150] [151] [152] [153] [154]
Observability
- State of Observability 2022 (REPORT): https://tanzu.vmware.com/content/ebooks/state-of-observability-2022
Telemetry
OpenTracing
- OpenTracing: https://opentracing.io | SPEC
OpenTelemetry
- OpenTelemetry: https://opentelemetry.io | DOCS (effective observability requires high-quality telemetry)
OpenCensus
- OpenCensus: https://opencensus.io (collect telemetry like metrics & distributed traces from your services)
Approaches
Business Performance
DBR
Drum-Buffer-Rope (commonly abbreviated DBR) is a manufacturing execution methodology based on the fact the output of a system can only be the same as the output at the constraint of the system. Any attempt to produce more than what the constraint can process just leads to excess inventory piling up.[citation needed] The method is named for its three components. The drum is the physical constraint of the plant: the work center or machine or operation that limits the ability of the entire system to produce more. The rest of the plant follows the beat of the drum. Schedule at the drum decides what the system should produce, in what sequence to produce and how much to produce. They make sure the drum has work and that anything the drum has processed does not get wasted.
The buffer protects the drum, so that it always has work flowing to it. Buffers in DBR provide the additional lead time beyond the required set up and process times, for materials in the product flow. Since these buffers have time as their unit of measure, rather than quantity of material, this makes the priority system operate strictly based on the time an order is expected to be at the drum. Each work order will have a remaining buffer status that can be calculated. Based on this buffer status work orders can be color coded into Red, Yellow and Green. The red orders have the highest priority and must worked on first since they have penetrated most into their buffers followed by yellow and green. As time evolves this buffer status might change and the color assigned to the particular work order change with it.
Dashboard
A Dashboard is a visual, informational resource used to help inform decision making.
Back-end Optimization
Memory Management
Distributed Computing
Thread Management
- jstack: https://www.oracle.com/java/technologies/javase/jstack.html | [https://docs.oracle.com/en/java/javase/11/tools/jstack.html#GUID-721096FC-237B-473C-A461-DBBBB79E4F6A
- FastThread: https://fastthread.io/ (Java Thread Dump Analyzer)
[168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180]
Heap Dump Analysis
- jhat - Java Heap Analysis Tool: https://docs.oracle.com/javase/7/docs/technotes/tools/share/jhat.html
- jmap - Memory Map Analyzer: https://www.oracle.com/java/technologies/javase/jmap.html | DOCS
- HeapHero: https://heaphero.io/
- Eclipse - Memory Analyzer (MAT): http://www.eclipse.org/mat/
- IBM Heap Analyzer: https://www.ibm.com/support/pages/ibm-heapanalyzer
Front-end Optimization
- Front-End Performance Checklist 2019: https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/ | PDF
- The Cost Of JavaScript In 2018: https://medium.com/@addyosmani/the-cost-of-javascript-in-2018-7d8950fbb5d4
- Why Web Developers Need to Care about Interactivity: https://philipwalton.com/articles/why-web-developers-need-to-care-about-interactivity/
[186] [187] [188] [189] [190] [191]
3rd Party JavaScript
- Loading Third-Party JavaScript: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/
Lazy-loading
- Reduce the size of the above-the-fold content: https://developers.google.com/speed/docs/insights/PrioritizeVisibleContent?csw=1#DeferLoadingJS[192]
- Optimizing the asynchronous Google Analytics snippet: https://mathiasbynens.be/notes/async-analytics-snippet[193][194][195][196][197][198]
- Efficiently load JavaScript with Defer & Async: https://flaviocopes.com/javascript-async-defer/[199][200][201][202][203][204][205][206][207]
- Lazy Loading Images – The Complete Guide: https://imagekit.io/blog/lazy-loading-images-complete-guide/[208][209][210][211][212][213][214][215]
- Google introduces "Native lazy-loading for the web" in Chrome 76 update: https://web.dev/native-lazy-loading/ (was available in beta by changing your settings for several versions, now available by default using loading="lazy" attribute and value combination)
content-visibility
- MozDev -- DOM - content-visibility: https://developer.mozilla.org/en-US/docs/Web/CSS/content-visibility
Event Handling
- Handling events for many elements -- Listeners/handlers should have single point of running (where possible): https://www.kirupa.com/html5/handling_events_for_many_elements.htm[220][221][222][223][224][225][226][227][228][229][230][231]
Scroll Listeners
- Improving Scroll Performance with Passive Event Listeners: https://developers.google.com/web/updates/2016/06/passive-event-listeners[232][233]
External Website Links
- Opening External Anchors Using rel="noopener" and/or rel="noreferrer": https://developers.google.com/web/tools/lighthouse/audits/noopener
- The performance benefits of rel=noopener: https://jakearchibald.com/2016/performance-benefits-of-rel-noopener/
Fullstack Optimization
YSlow performance criteria
YSlow was a long-time industry leader in performance optimization for the web, along with YUI compressor for CSS/JS minification. Since it was tailored to HTTP 1.1/1.2 specs, it is slowly getting replaced by other tools more optimized for HTTP/2.0 as the once stacked, but now fledgling Yahoo! development team struggles to support legacy tools and open source projects (sunsetting most since their acquisition by Verizon[234]).
- Minimize HTTP Requests
- Use a Content Delivery Network
- Avoid empty src or href
- Add an Expires or a Cache-Control Header
- Gzip Components
- Put StyleSheets at the Top
- Put Scripts at the Bottom
- Avoid CSS Expressions
- Make JavaScript and CSS External
- Reduce DNS Lookups
- Minify JavaScript and CSS
- Avoid Redirects
- Remove Duplicate Scripts
- Configure ETags
- Make AJAX Cacheable
- Use GET for AJAX Requests
- Reduce the Number of DOM Elements
- No 404s
- Reduce Cookie Size
- Use Cookie-Free Domains for Components
- Avoid Filters
- Do Not Scale Images in HTML
- Make favicon.ico Small and Cacheable
- YSlow: http://www.yslow.org | DOCS | SRC | FF | Chrome | Safari | [ IE] | Bookmarklet
[235] [236] [237] [238] [239] [240] [241] [242] [243]
Tools
- PERFORMANCE BUDGET BUILDER: https://responsivedesign.is/resources/software/performance-budget-builder
- WebPage Speedtest: https://www.webpagetest.org/
- GT Metrix: https://gtmetrix.com/
- What does my site cost?: https://whatdoesmysitecost.com/ ($$$$$ 5 dollar-sign rating system from least to most expensive)
- SiteSpeed.io: http://www.sitespeed.io/ | SRC[244]
- Google - PageSpeed: https://developers.google.com/speed/ | EXAMPLE
- Google PageSpeed -- Insights: https://developers.google.com/speed/pagespeed/insights/ | EXAMPLE #1 | EXAMPLE #2[245][246]
- Google - Lighthouse: https://developers.google.com/web/tools/lighthouse/ (originally a Chrome extension, now included by default as the "Audit" tab in Chrome Dev Tools as well as available as a Node.JS package for CLI or programmatic use)
- MOBI Ready (Mobile web performance readiness check): https://ready.mobi/
- Network Speedtest - (ISP/Carrier) Bandwidth test: http://speedtest.net/
- SolarWinds: http://www.solarwinds.com/
- DataDog: http://www.datadoghq.com/
- Google Closure Compiler (GCC): https://developers.google.com/closure/compiler
- Microsoft - AJAXmin: https://archive.codeplex.com/?p=ajaxmin
- Yahoo User Interface (YUI) compressor: https://yui.github.io/yuicompressor/
Resources
- GZIP: http://www.gzip.org/
- Cache-Control: http://www.web-caching.com/mnot_tutorial/how.html#WORK [253][254][255]
- Performance Optimization & Monitoring (REFCARD): https://dzone.com/storage/assets/4759564-dzone-guidetoperformance-optimizationandmonitoring.pdf
- Optimizely data-driven team (QUIZ): https://blog.optimizely.com/wp-content/uploads/2016/02/ROADMAP-Worksheet.pdf
- Optimizing data memory utilization: http://www.embedded.com/design/prototyping-and-development/4438304/Optimizing-data-memory-utilization[256][257]
- Java Anti-Patterns: http://odi.ch/prog/design/newbies.php (many leading to performance degradation, and have simple fixes)
- HTTP Archive report on loading speed: https://httparchive.org/reports/loading-speed?start=2014_02_01&end=latest&view=list#ol
- Front-End Performance Checklist 2020: https://www.smashingmagazine.com/2020/01/front-end-performance-checklist-2020-pdf-pages/[258]
- User-centric Metrics Matter to Ecommerce - start with these 5: https://rigor.com/blog/web-performance-metrics-ecommerce (TTFB, FCP, FMP, TTI, VC)[259]
- Metrics Runbook for Dev Teams: https://linearb.io/dev-team-metrics/
Tutorials
- (Windows/WindowsServer) Page File – The definitive guide: https://blogs.technet.microsoft.com/motiba/2015/10/15/page-file-the-definitive-guide/[260][261]
- Linux -- Find Out What Process Are Using Swap Space: https://www.cyberciti.biz/faq/linux-which-process-is-using-swap/[262][263][264]
- Caching Tutorial: http://www.mnot.net/cache_docs/
- Speed Tips - Add Cache-Control Headers (to Apache Web Server): http://www.askapache.com/htaccess/apache-speed-cache-control.html
- Use Server Cache Control to Improve Performance: http://www.websiteoptimization.com/speed/tweak/cache/
- Cache Control Directives Demystified: http://palisade.plynt.com/issues/2008Jul/cache-control-attributes/
- How to Modify the Cache-Control HTTP Header When You Use IIS: support.microsoft.com/kb/247404
- How To Make Your Websites Faster On Mobile Devices: https://www.smashingmagazine.com/2013/04/build-fast-loading-mobile-website/
- NetBeans Debugger/Profiler: https://netbeans.org/features/java/debugger.html[265]
- Eclipse Debugger/Profiler: http://www.vogella.com/tutorials/EclipseDebugging/article.html[266][267]
- Using Java Mission Control for performance monitoring: https://www.prosysopc.com/blog/using-java-mission-control-for-performance-monitoring/
- Hunting Java Memory Leaks: https://www.toptal.com/java/hunting-memory-leaks-in-java
- How to Read a (Java) Thread Dump: https://dzone.com/articles/how-to-read-a-thread-dump
- Let's be friends - How to Find and Fix Memory Leaks in Your Java Application: https://dzone.com/articles/how-to-find-and-fix-memory-leaks-in-your-java-appl
- When disaster strikes: https://barrenmoor.wordpress.com/2013/10/08/when-disaster-strikes/ (nice Java profiling tips)
- Java Memory and CPU Monitoring Tools and Techniques: http://dzone.com/articles/java-memory-and-cpu-monitoring-tools-and-technique
- Why 35GB Heap is Less Than 32GB – Java JVM Memory Oddities: https://blog.codecentric.de/en/2014/02/35gb-heap-less-32gb-java-jvm-memory-oddities/
- JVM Optimization 101: https://www.eclipsecon.org/na2015/sites/default/files/slides/jvm.pdf
- A Step-by-Step Guide to Tomcat Performance Monitoring: https://dzone.com/articles/a-step-by-step-guide-to-tomcat-performance-monitor
- C# Optimization 101: http://www.csharpcity.com/2010/optimization-101/[272]
- 10 Tips for Optimizing MySQL Queries (That don’t suck): http://20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck/
- Influence query optimization with optimization profiles and statistical views in DB2 9: http://www.ibm.com/developerworks/data/library/techarticle/dm-0612chen/index.html
- Progressive rendering via multiple flushes: http://http://www.phpied.com/progressive-rendering-via-multiple-flushes/
- Preload - What Is It Good For?: http://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/
- How Java Maps Protect Themselves From DOS Attacks: https://www.javaspecialists.eu/archive/Issue262.html
- Why (Consumer-PC) Memory Optimizers and RAM Boosters Are Worse Than Useless: http://www.howtogeek.com/171424/why-memory-optimizers-and-ram-boosters-are-worse-than-useless/
- Web Performance 101 -- HTTP Headers: https://dzone.com/articles/web-performance-101-http-headers
- Top 10 JavaScript errors from 1000+ projects (and how to avoid them): https://codeburst.io/top-10-javascript-errors-from-1000-projects-and-how-to-avoid-them-2956ce008437
- async vs defer attributes: https://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html[273]
External Links
- wikipedia: Optimization
- wikipedia: Program optimization
- wikipedia: Monitoring
- wikipedia: Application performance management (APM)
- wikipedia: Content delivery network (CDN)
- wikipedia: Caching
- wikipedia: Database Clustering
- wikipedia: Failover
- wikipedia: Human Optimization
- wikipedia: Thrashing (computer science)
- wikipedia: Amdahl's law (theoretical/real/max speedups of a system by improving underlying components/parts)
- Best Practices for Speeding Up Your Web Site: http://developer.yahoo.com/performance/rules.html
- Google Dev docs -- Web Fundamentals - Loading Performance: https://developers.google.com/web/fundamentals/performance/get-started/
- Google Dev docs -- Web Fundamentals - Rendering Performance: https://developers.google.com/web/fundamentals/performance/rendering/
- Lighthouse Scoring Guide : https://developers.google.com/web/tools/lighthouse/v3/scoring
- The Google Speed Update -- Page speed will become a ranking factor in mobile search: https://searchengineland.com/google-speed-update-page-speed-will-become-ranking-factor-mobile-search-289904
- Déjà vu all Over Again with Page Bloat in the World’s Top 100 Ecommerce Sites: https://web.archive.org/web/20160312161051/http://www.webperformancetoday.com/2015/09/08/deja-vu-all-over-again/
- JavaScript Performance Tips: http://gregfranko.com/blog/javascript-performance-tips/
- Performance Research, Part 5 -- iPhone Cacheability - Making it Stick: http://yuiblog.com/blog/2008/02/06/iphone-cacheability/
- PHP xHTML MIME-types (speeding up & caching): http://www.dyeager.org/articles/php_xhtml_mimetype.php
- AppDynamics presents "The Cost of Performance Issues" (INFOGRAPHIC): http://www.slideshare.net/appdynamics/the-cost-of-performance-issues
- Not this again... Best Server/Network-Monitoring Software Solution?: http://www.reddit.com/r/sysadmin/comments/1f2vl9/not_this_again_best_servernetworkmonitoring/
- Debugging mixed-environment programs with Blink: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/blink-spe-2014.pdf
- 50 Top Server Monitoring & Application Performance Monitoring (APM) Solutions: https://haydenjames.io/50-top-server-monitoring-application-performance-monitoring-apm-solutions/
- 7 Ways to Capture Java Heap Dumps: https://dzone.com/articles/how-to-capture-java-heap-dumps-7-options
- Java Out of Memory Heap Analysis: https://dzone.com/articles/java-out-of-memory-heap-analysis
- Red Hat Mobile Portfolio Truck dodges storms wh...NextHow much faster is Java 11? : https://www.optaplanner.org/blog/2019/01/17/HowMuchFasterIsJava11.html
- React vs AngularJS vs KnockoutJS -- a Performance Comparison: https://www.codementor.io/chrisharrington/react-vs-angularjs-vs-knockoutjs-a-performance-comparison-85hwzepbz
- Optimizely on Google's 2018 algorithm change -- Part 1 - What’s the Deal with Google’s Speed Update and How Might it Affect Me? : https://blog.optimizely.com/2018/07/03/google-speed-update/
- Optimizely on Google's 2018 algorithm change -- Part 2 - Site Performance, How to Make Improvements and Avoid Pitfalls: https://blog.optimizely.com/2018/08/13/site-performance-make-improvements-avoid-pitfalls/
- Enough with the JavaScript already!: https://www.youtube.com/watch?v=li4Y0E_x8zE | SLIDES
- Google Chrome's NOSCRIPT Intervention: https://timkadlec.com/remembers/2018-09-06-chromes-noscript-intervention/
- JavaScript Compressors -- How and Why to Minify Your JS: https://hackernoon.com/javascript-compressors-how-and-why-to-minify-your-js-f04f639a3512
- The Bullshit Web: https://pxlnv.com/blog/bullshit-web/
- MTTR is more important than MTBF (for most types of F): https://www.kitchensoap.com/2010/11/07/mttr-mtbf-for-most-types-of-f/
- Takt Time .vs. Cycle Time .vs. Lead Time -- What’s The Difference: https://www.minterapp.com/takt-time-vs-cycle-time-vs-lead-time/[274][275][276][277][278]
- Journey to the Content Mesh Part 4 -- Why Mobile Performance Is Crucial: https://www.gatsbyjs.org/blog/2018-10-16-why-mobile-performance-is-crucial
- How Slow App Performance Can Impact Your Bottom Line: https://stackify.com/slow-app-performance-bottom-line
- First Interactive Metrics Add New Dimensions To User Experience Data: https://rigor.com/blog/first-interactive-metrics-new-dimension-user-experience
- What Interactivity Metrics Does Rigor Offer?: https://help.rigor.com/hc/en-us/articles/360011039573
- Beyond Speed -- Why You Should Be Tracking Interactive Metrics: https://rigor.com/blog/tracking-interactive-metrics-speed
- Cutting Through Performance Metrics Fog with the Lighthouse Score: https://rigor.com/blog/performance-metrics-lighthouse-score
- Mobile Load Time and User Abandonment: https://developer.akamai.com/blog/2016/09/14/mobile-load-time-user-abandonment
- Dashboard Confusion: https://www.informationweek.com/software/information-management/dashboard-confusion/d/d-id/1023882?page_number=1
- Building a Culture of Performance in Springfield -- The Simpsons as Metrics: https://rigor.com/blog/the-simpsons-as-performance-metric
- Getting up to Speed with Lighthouses: https://webstandardssherpa.com/reviews/getting-up-to-speed-with-lighthouses.html
- Rigor - Building the case for Performance-minded culture: https://rigor.com/resources/webinars/video-webinar-building-case-performance (a look at shaving The Economist down average Page Load time from 39.6s to 4.8s, similar benefits at Time, inc. and others... mostly trimming down 3rd-party content/integrations)
- The whole web at maximum FPS -- How Mozilla's WebRender (in FireFox-Quantum) gets rid of jank: https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/
- React Performance Fixes on AirBnB Listing Pages: https://medium.com/airbnb-engineering/recent-web-performance-fixes-on-airbnb-listing-pages-6cd8d93df6f4
References
- ↑ wikipedia: Apdex
- ↑ JMeter Beginner tutorial -- Generating Report Dashboard: https://www.youtube.com/watch?v=aHV5IizW7u4
- ↑ What are MTTR and MTTI?: https://www.sumologic.com/mttr-mtti/
- ↑ Google dev docs -- Web fundamentals - Critical Rendering Path: https://developers.google.com/web/fundamentals/performance/critical-rendering-path/
- ↑ MozDev -- Web Performance - Critical rendering path: https://developer.mozilla.org/en-US/docs/Web/Performance/Critical_rendering_path
- ↑ Understanding the Critical Rendering Path: https://bitsofco.de/understanding-the-critical-rendering-path/
- ↑ How to Optimize the Critical Rendering Path in WordPress: https://kinsta.com/blog/critical-rendering-path/
- ↑ At Google I/O 2016, we launched the brand-new Polymer App Toolbox for building Progressive Web Apps: https://www.polymer-project.org/blog/2016-05-19-Polymer-IO-2016
- ↑ Faster Web App Delivery with PRPL: https://addyosmani.com/blog/the-prpl-pattern/
- ↑ PRPL pattern (with examples) - Solutions for modern web app optimization: https://blog.logrocket.com/prpl-pattern-solutions-for-modern-web-app-optimization/
- ↑ Polymer (which pioneered the concept, explains how it handles) PRPL Pattern: https://polymer-library.polymer-project.org/2.0/docs/apps/prpl
- ↑ Google dev docs -- Apply instant loading with the PRPL pattern: https://web.dev/apply-instant-loading-with-prpl/
- ↑ Understanding Agile Team Metrics — Measure Many Things: http://www.andycleff.com/2019/09/understanding-agile-team-metrics/
- ↑ THE IMPACT OF AGILE QUANTIFIED -- SWAPPING INTUITION FOR INSIGHTS: http://maccherone.com/share/Impact of Agile Quantified - 2013 edition.pdf
- ↑ Quantifying the Impact Of Agile Practices: hjttp://maccherone.com/publications/KEYNOTE-MetricsAndInsights-Maccherone-0604-1245PM.pdf
- ↑ What to Measure and Why - Kanban Metrics: https://getnave.com/blog/kanban-metrics/
- ↑ Outcome, Decision, Insight, Measure (ODIM) - A framework for choosing the right metrics: http://maccherone.com/larry/2017/09/13/odim-a-framework-for-choosing-the-right-metrics/
- ↑ Three Secrets to Successful Agile Metrics: https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=503751
- ↑ The secret to DevOps metrics? It's easy -- just use them: http://searchsoftwarequality.techtarget.com/feature/The-secret-to-DevOps-metrics-Its-easy-just-use-them
- ↑ DevOps metrics matter -- How to prove business value: https://techbeacon.com/devops-metrics-matter-how-prove-business-value
- ↑ DevOps – Metrics, Goals and Waste: https://devopsdayslondon2016.wordpress.com/2015/11/20/devops-metrics-goals-and-waste/
- ↑ 8 Ways to Track the Success of DevOps Teams: https://dzone.com/articles/8-ways-to-track-the-success-of-your-devops-team
- ↑ 4 Balanced Metrics for Tracking Agile Teams: https://www.agileconnection.com/article/4-balanced-metrics-tracking-agile-teams
- ↑ Five agile metrics you won't hate: https://www.atlassian.com/agile/project-management/metrics
- ↑ From a vision to metrics: https://www.jamsovaluesmarter.com/metrics
- ↑ Be Careful What You Measure - 10 Metrics For Agile Teams: https://platinumedge.com/blog/be-careful-what-you-measure-10-metrics-agile-teams
- ↑ Stop Measuring: https://medium.com/@jardenalondon/stop-measuring-468f99c7078
- ↑ Eric Ries on the Ineffectiveness of Vanity Metrics: https://www.youtube.com/watch?v=0dvsNmL__9U
- ↑ "Agile metrics" are the key to your team’s continuous improvement: https://www.sumoheavy.com/agile-metrics-are-the-key-to-your-teams-continuous-improvement/
- ↑ 60 Important Business Metrics Your Company Must Know: https://dzone.com/articles/60-important-business-metrics-your-company-must-kn
- ↑ A Guide to Product Manager KPIs: https://www.productplan.com/learn/product-manager-kpis/
- ↑ Measure Software Delivery Performance with Four Key Metrics: https://itrevolution.com/measure-software-delivery-performance-four-key-metrics/
- ↑ Metrics to track and drive your DevOps maturity: https://sdtimes.com/wp-content/uploads/2021/04/Plandek-Whitepaper-Metrics-to-track-and-drive-Agile-DevOps-maturity.pdf?email=bryan.copeland%40alc.ca&JOBFUNCTION=Software%20Engineer&INDUSTRY=Media%2F%20Marketing%2F%20Entertainment%2F%20Travel%2F%20Hospitality&NUMBEROFEMPLOYEES=100-249%20 (from "beginner" to "advanced")
- ↑ Leveraging Mobile Infrastructure with Data-Driven Decisions: https://engineering.atspotify.com/2020/07/22/leveraging-mobile-infrastructure-with-data-driven-decisions/
- ↑ The Ultimate Guide to OKR: https://www.perdoo.com/okr/
- ↑ All About OKRs -- How To Set Them, Achieve Them, And Track Them In Trello: http://blog.trello.com/okrs-set-achieve-track-trello
- ↑ Atlassian's "Publicly announced" Marketing Team OKRs for 2019-Q2: https://paper.dropbox.com/doc/Public-Marketing-Team-OKRs-Q2-kK7a5lgTf13A0R8cg5KRE
- ↑ Weekdone's OKR Goal setup template: https://weekdone.com/ebook/okr-goal-setting-guide-template/
- ↑ The Management Framework that Propelled LinkedIn to a $20 Billion Company: http://firstround.com/review/the-management-framework-that-propelled-LinkedIn-to-a-20-billion-company/
- ↑ Startup Lab workshop -- How Google sets goals - OKRs: https://www.youtube.com/watch?v=mJB83EZtAjc
- ↑ What's the difference between KPIs (key performance indicators) and OKRs (objective and key results)?: https://www.quora.com/Whats-the-difference-between-KPIs-key-performance-indicators-and-OKRs-objective-and-key-results
- ↑ 5 Steps to Setting and Achieving Business Goals in 2019: https://blog.weekdone.com/5-steps-to-setting-and-achieving-business-goals-in-2019/
- ↑ 29 "Performance Appraisal" methods explained: https://grosum.com/blog/performance-appraisal-methods/
- ↑ Objectives and Key Results (OKR) -- How to implement the #1 goal setting framework in Asana: https://forum.asana.com/t/objectives-and-key-results-okr-how-to-implement-the-1-goal-setting-framework-in-asana/4539
- ↑ OKRs vs. SMART Goals: https://www.perdoo.com/blog/okr-vs-smart-goals/
- ↑ What is the difference between MBO and OKR: https://upraise.io/blog/difference-mbo-okr/
- ↑ Creating GREAT OKRs and a great quarterly planning process: https://www.slideshare.net/7Geese/creating-great-okrs-and-a-great-quarterly-planning-process
- ↑ Goal setting is important for you and business: https://www.jamsovaluesmarter.com/goal-setting/
- ↑ OKRs - goal setting that focuses on outcomes: https://www.atlassian.com/agile/agile-at-scale/okr
- ↑ The North Star Playbook (PDF): https://info.amplitude.com/rs/138-CDN-550/images/Amplitude-The-North-Star-Playbook.pdf
- ↑ OKRs & DevOps - From Micromanagement Misery to Finding Flow: https://itrevolution.com/okrs-from-micromanagement-misery-to-finding-flow/
- ↑ OKRs Examples for Software Companies: https://blog.tasktop.com/okrs-examples-for-software-companies/
- ↑ Use OKRs to Set Goals for Teams, Not Individuals: https://hbr.org/2020/12/use-okrs-to-set-goals-for-teams-not-individuals
- ↑ How Technology Teams Can Thrive with Flow-Based OKRs (E-BOOK): https://go.tasktop.com/how-technology-teams-can-thrive-with-flow-based-okrs.html | WEBINAR
- ↑ OKR Examples for Software Companies: https://blog.tasktop.com/okrs-examples-for-software-companies/
- ↑ Definition of KPAs: https://economictimes.indiatimes.com/definition/key-result-areas
- ↑ How to measure the accuracy of forecasts: https://blog.asmartbear.com/forecast.html
- ↑ Google research on Page Load Time reduction to Conversion Rate improvements: https://www.thinkwithgoogle.com/marketing-strategies/app-and-mobile/mobile-page-speed-new-industry-benchmarks-load-time-vs-bounce/
- ↑ Deloitte Digital - Milliseconds make Millions: https://www2.deloitte.com/content/dam/Deloitte/ie/Documents/Consulting/Milliseconds_Make_Millions_report.pdf (study on how improvements in mobile site speed positively affect a brand’s bottom line)
- ↑ 12 Statistics That Show How Page Load Time Impacts Conversion Rate: https://blog.hubspot.com/marketing/page-load-time-conversion-rates
- ↑ Wayward KPIs -- Marketers Are Unsure Whether They Accurately Track Them: https://www.mediapost.com/publications/article/372967/wayward-kpis-marketers-are-unsure-whether-they-ac.html
- ↑ Using ROAS to Measure Advertising Results: https://www.practicalecommerce.com/Using-ROAS-to-Measure-Advertising-Results
- ↑ Guide to Understanding "Return on Ad Spend" (ROAS): https://www.wallstreetprep.com/knowledge/return-on-ad-spend-roas/
- ↑ Vendor Spend Analysis - How and Why You Should Be Monitoring: https://www.venminder.com/blog/vendor-spend-analysis-monitoring
- ↑ The Plain English Guide to Return on Ad Spend (ROAS): https://blog.hubspot.com/marketing/return-on-ad-spend
- ↑ SaaS Metrics – A Guide to Measuring and Improving What Matters: http://www.forentrepreneurs.com/saas-metrics/
- ↑ SaaS Metrics 2.0 – A Guide to Measuring and Improving what Matters: https://www.forentrepreneurs.com/saas-metrics-2/
- ↑ How to Find Key Performance Indicators (KPIs) with Examples: https://www.optimizesmart.com/understanding-key-performance-indicators-kpis-just-like-that/
- ↑ How Loading Time Affects Your Bottom Line: https://neilpatel.com/blog/loading-time/
- ↑ What is CAGR? Making Sense of a Commonly Used Metric: https://www.asimplemodel.com/reference/63/what-is-cagr-making-sense-of-a-commonly-used-metric/
- ↑ Understand your Online Gambling Business with Key Performance Indicators: https://everymatrix.com/blog/gambling-business-key-performance-indicators.html
- ↑ 18 Key Performance Indicator (KPI) examples defined: https://www.clearpointstrategy.com/18-key-performance-indicators/
- ↑ The 10 Marketing KPIs You Should Be Tracking: https://www.impactbnd.com/the-10-marketing-kpis-you-should-be-tracking
- ↑ KPI templates & examples: https://www.accelerate-agency.com/kpi-key-performance-indicator-examples-templates
- ↑ How to Manage, Visualize KPIs for Ecommerce: https://www.practicalecommerce.com/how-to-identify-visualize-kpis-for-ecommerce
- ↑ KPI guide for GooglePlay Apps & Games -- Part 1 of 4 - Intro to (Android app) Metrics: https://medium.com/googleplaydev/a-kpis-guide-for-google-play-apps-and-games-intro-to-metrics-214da979f5a2 | VIDEO
- ↑ 14 Important KPIs To Help You Track Your Digital Transformation: https://www.forbes.com/sites/forbestechcouncil/2020/06/25/14-important-kpis-to-help-you-track-your-digital-transformation/
- ↑ Measuring Usability With The System Usability Scale (SUS): https://measuringu.com/sus/
- ↑ Metrics That Matter -- PPC: https://www.axis41.com/blog/sem/metrics-that-matter-ppc/
- ↑ Metrics That Matter -- Email Marketing: https://www.axis41.com/blog/analytics/metrics-that-matter-email-marketing/
- ↑ Metrics That Matter -- Social Media Marketing: https://www.axis41.com/blog/marketing-strategy/metrics-that-matter-social-media-marketing/
- ↑ 21 Most Important Marketing Effectiveness Metrics You Should Know: https://ninepeaksmedia.com/21-most-important-marketing-effectiveness-metrics-you-should-know
- ↑ Why LTV/CAC Ratio is the Lifeblood of SaaS + How to Calculate It: https://www.profitwell.com/recur/all/youre-calculating-cac-wrong
- ↑ What is the "LTV:CAC" ratio?: https://www.geckoboard.com/best-practice/kpi-examples/ltv-cac-ratio/
- ↑ How to Calculate the LTV:CAC Ratio for Your SaaS Business: https://medium.com/corl/how-to-calculate-lifetime-value-customer-acquisition-cost-ratio-for-your-saas-business-332510188726
- ↑ What Does Your LTV/CAC Ratio Tell You?: https://www.lightercapital.com/blog/what-does-ltv-cac-ratio-tell-you/
- ↑ LTV:CAC = Customer Lifetime Value / Customer Acquisition Cost (example): https://www.klipfolio.com/resources/kpi-examples/saas/customer-lifetime-value-to-customer-acquisition-cost
- ↑ Key Performance Indicators (INFOGRAPHIC): https://www.kpiinstitute.org/key-performance-indicators-infographic/ | SRC
- ↑ Key Performance Indicators (INFOGRAPHIC): https://issuu.com/thekpiinstitute/docs/the-kpi-institute-kpi-training-info
- ↑ 25 KPIs from Manufacturing (INFOGRAPHIC): https://www.rhythmsystems.com/hs-fs/hubfs/16_RS_For_Blogs/25 KPI Example in Man.png?width=600&name=25 KPI Example in Man.png
- ↑ 7 Top Notch Marketing KPI examples: https://brandongaille.com/7-top-notch-marketing-kpi-examples/
- ↑ Favorite E-Commerce KPIs: https://www.practicalecommerce.com/my-favorite-ecommerce-kpis
- ↑ KPIs vs Metrics: https://www.e-nor.com/blog/general/kpis-vs-metrics
- ↑ KPIs vs. Metrics in Marketing (INFOGRAPHIC): http://www.thedata.co/kpis-vs-metrics/
- ↑ Business metrics vs KPIs. What’s the difference?: https://www.klipfolio.com/blog/business-metrics-vs-kpis
- ↑ Difference Between Metrics and KPIs: https://www.differencebetween.com/difference-between-metrics-and-vs-kpis/
- ↑ A Metric Leading to Agility: https://ronjeffries.com/xprog/articles/jatrtsmetric/
- ↑ 50 Service Level Agreement (SLA) resources: https://blog.catchpoint.com/2020/01/08/service-level-agreements-resources/
- ↑ 99.999% uptime vs 99.9% uptime -- the difference two extra “nines” makes: https://www.intermedia.net/blog/2014/01/28/99-999-uptime-vs-99-9-uptime-the-difference-two-extra-nines-makes/ (everyone's goal of "better than four nines", i.e. "five nines and up" and what that really means)
- ↑ The Calculus of Service Availability: https://queue.acm.org/detail.cfm?id=3096459
- ↑ A Service-Level What?: https://tanzu.vmware.com/content/blog/a-service-level-what (SLA, SLO & SLI in more detail)
- ↑ What Are Service-Level Objectives? Lessons Learned: https://www.blameless.com/blog/service-level-objectives-slos-lessons-learned
- ↑ How to Create Programmatic Service Level Indicators (SLIs): https://blog.newrelic.com/engineering/programmatic-service-level-indicator/
- ↑ Apache Kafka in the Gaming Industry — Use Cases + Architectures: https://dzone.com/articles/apache-kafka-in-the-gaming-industry-use-cases-arch (event streaming real-world examples such as: Real-time Telemetry, Payments/Bets engine, Ad display & In-App purchase transactions, Monitor data events, Analytics on Marketing campaigns)
- ↑ Error handling in AWS AppSync: https://advancedweb.hu/error-handling-in-appsync/
- ↑ wikipedia: Performance Rating
- ↑ wikipedia: Computer performance
- ↑ wikipedia: Network performance
- ↑ wikipedia: Performance engineering
- ↑ wikipedia: Software performance testing
- ↑ wikipedia: Performance measurement
- ↑ wikipedia: Performance tuning
- ↑ wikipedia: Performance management
- ↑ wikipedia: Performance improvement
- ↑ Your 2017 Guide to Retail Performance Success: https://www.soasta.com/your-2017-guide-to-retail-performance-success/
- ↑ Cost of Performance problems (INFOGRAPHIC): https://www.slideshare.net/mobile/appdynamics/infographic-the-cost-of-performance-issues
- ↑ Six Dimensions of Performance: https://www.flightlevels.io/blog/six-dimensions-of-performance/
- ↑ Profiling With JVisualVM : https://dzone.com/articles/profiling-with-jvisualvm
- ↑ Java performance profiling using flame graphs: https://medium.com/@maheshsenni/java-performance-profiling-using-flame-graphs-e29238130375
- ↑ jConsole runtime args: http://docs.oracle.com/javase/7/docs/technotes/tools/share/jconsole.html
- ↑ Monitoring and Management Using JMX -- Enabling the JMX Agent: http://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html#jmxagent
- ↑ Using JConsole to Monitor Applications: http://www.oracle.com/technetwork/articles/java/jconsole-1564139.html
- ↑ Using jConsole as per Java 1.7: http://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html
- ↑ Using jConsole as per Java 1.5: http://www.cs.mun.ca/java-api-1.5/guide/management/jconsole.html
- ↑ Standard MBeans (JMX) example: http://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html
- ↑ How to activate JMX on my JVM for access with jconsole?: https://stackoverflow.com/questions/856881/how-to-activate-jmx-on-my-jvm-for-access-with-jconsole
- ↑ Has anyone ever got a remote JMX JConsole to work?: https://stackoverflow.com/questions/151238/has-anyone-ever-got-a-remote-jmx-jconsole-to-work
- ↑ Profiling the profilers: http://www.javaworld.com/article/2073674/build-ci-sdlc/profiling-the-profilers.html
- ↑ A Step By Step Guide to Tomcat Performance Monitoring: https://stackify.com/tomcat-performance-monitoring/
- ↑ Alternatives to AppDynamics: http://alternativeto.net/software/appdynamics/
- ↑ Web Browser Automation Tools: https://www.monitis.com/blog/web-browser-automation-tools/
- ↑ Monitor Everything with Monitis – And do it easily with PowerShell (13-part series): http://www.monitis.com/blog/monitor-everything-with-monitis-and-do-it-easily-with-powershell-part-13/ (see parts 4 & 5)
- ↑ What are some good cloud-based website monitoring tools?: http://www.quora.com/What-are-some-good-cloud-based-website-monitoring-tools
- ↑ Monitis transaction – a rapid implementation web-monitoring solution (based on Selenium): http://codevoyagers.com/2016/04/14/monitis-transaction-a-rapid-implementation-web-monitoring-solution/
- ↑ wikipedia: Xymon
- ↑ Gartner -- Magic Quadrant (2021) - Application Performance Monitoring: https://www.gartner.com/doc/reprints?id=1-25S66H1I&ct=210412&st=sb&mkt_tok=MDMxLVdJWC02MTgAAAF8cAkZc7XA-xFYtggoMtdpCuCpsxSRmBwb0tqz8ZXbkUd6sE27ZDKRc_dd6sndEj3fiaz8riTu9d0h5lSvSyEU7CTIlov79l-nI0qK8x8GWLKcYQ
- ↑ Gartner - Innovation Insight for Observability: https://www.gartner.com/doc/reprints?id=1-24C5R1YO&ct=201008&st=sbf
- ↑ Observability won’t replace monitoring (because it shouldn’t): https://go.lightstep.com/rs/260-KGM-472/images/observability-replace-monitoring-guide.pdf
- ↑ Understanding and Leveraging the Java Stack Trace: https://stackify.com/java-stack-trace/
- ↑ Splunk Community Projects - Splunk Java Logging Framework: http://dev.splunk.com/view/community-projects/SP-CAAAED7
- ↑ Introduction to Splunk HTTP Event Collector: http://dev.splunk.com/view/event-collector/SP-CAAAE6M
- ↑ Building in telemetry with high-performance data collection: http://dev.splunk.com/view/dev-guide/SP-CAAAE7B
- ↑ How to log to HTTP Event Collector using Splunk logging for JavaScript: http://dev.splunk.com/view/splunk-logging-javascript/SP-CAAAE64
- ↑ JMeter output to Splunk event log: https://stackoverflow.com/questions/12704972/jmeter-output-to-event-log (best solution is to use a "Beanshell Post-Processor" to collect the data and send via TCP directly into Splunk)
- ↑ AppDynamics vs Dynatrace: Battle of the Enterprise Monitoring Giants: http://blog.takipi.com/appdynamics-vs-dynatrace-battle-of-the-enterprise-monitoring-giants/
- ↑ AppDynamics VS New Relic - Which Tool is Right For You? The Complete Guide: http://blog.takipi.com/appdynamics-vs-new-relic-which-tool-is-right-for-you-the-complete-guide/
- ↑ New Relic vs. AppDynamics: http://www.myloadtest.com/new-relic-vs-appdynamics/
- ↑ CA - APM 10: http://www3.ca.com/us/products/application-performance-management.aspx | BOOK (formerly WilyTech, acquired by CA)
- ↑ wikipedia: CA Technologies (known more commonly by former name "Computer Associates International, Inc.", they are a major M&A tech holding company)
- ↑ The Wily Introscope Profiler: https://docs.oracle.com/cd/E19501-01/819-3659/beafq/index.html
- ↑ Magic Quadrant for Application Performance Monitoring Suites: https://www.gartner.com/doc/reprints?id=1-3OIV5U7&ct=161222&st=sb
- ↑ Are there any good open source APM (Application Performance Management) products available?: http://www.quora.com/Are-there-any-good-open-source-APM-Application-Performance-Management-products-available
- ↑ What are the top Application Performance Management (APM) companies/services?: http://www.quora.com/What-are-the-top-Application-Performance-Management-APM-companies-services
- ↑ The Top 5 Disadvantages of Not Implementing an Exception Inbox Zero Policy: http://blog.takipi.com/the-top-5-disadvantages-of-not-implementing-an-exception-inbox-zero-policy/
- ↑ IBM - What is "Observability"?: https://www.ibm.com/cloud/learn/observability
- ↑ Splunk - What is "Observability"?: https://www.splunk.com/en_us/data-insider/what-is-observability.html
- ↑ Application Performance Monitoring/Management (APM) resources: https://www.alexanderpodelko.com/PerfManagement.html#PerformanceManagement
- ↑ Introduction to Observability: https://docs.honeycomb.io/learning-about-observability/intro-to-observability/
- ↑ Observability in 2020 -- A Manifesto: https://newrelic.com/resources/ebooks/observability-2020-manifesto
- ↑ State of Observability 2022 -- Modernization Cannot Succeed without Observability: https://tanzu.vmware.com/content/blog/state-of-observability-2022-modernization
- ↑ Understanding Istio Telemetry v2: https://blog.christianposta.com/understanding-istio-telemetry-v2/
- ↑ OpenTracing on Kubernetes — Trace your existing java apps without touching a line of code: https://medium.com/opentracing/opentracing-on-kubernetes-get-yer-tracing-for-free-7a69cca03c8a
- ↑ Spring Boot App Distributed Tracing on steroids with OpenJDK Flight Recorder (and OpenTracing): https://dzone.com/articles/how-to-accelerate-distributed-tracing-for-spring-b
- ↑ OpenTelemetry docs -- What is OpenTelemetry?: https://opentelemetry.lightstep.com/
- ↑ NewRelic - What is OpenTelemetry and why is it the future of instrumentation?: https://newrelic.com/blog/best-practices/what-is-opentelemetryzh
- ↑ Jenkins plugins -- OpenTelemetry: https://plugins.jenkins.io/opentelemetry/
- ↑ Dashboards and Culture - How Openness Changes Your Behavior: https://www.infoq.com/presentations/dashboard-culture-ibm/
- ↑ wikipedia: Thread (computing)
- ↑ wikipedia: Thread safety
- ↑ wikipedia: Java concurrency
- ↑ Java Thread Tutorial -- Creating Threads and Multithreading in Java: https://dzone.com/articles/java-thread-tutorial-creating-threads-and-multithr
- ↑ Thread Dump Analysis Tool / Method: https://stackoverflow.com/questions/3156434/thread-dump-analysis-tool-method
- ↑ Java - What is the Limit to the Number of Threads You Can Create?: https://dzone.com/articles/java-what-limit-number-threads
- ↑ Going inside Java’s Project Loom and virtual threads: https://blogs.oracle.com/javamagazine/going-inside-javas-project-loom-and-virtual-threads
- ↑ Multithreading in java with examples: https://beginnersbook.com/2013/03/multithreading-in-java/
- ↑ TutorialsPoint - Java Multi-Threading: https://www.tutorialspoint.com/java/java_multithreading.htm
- ↑ Java Multithreading example: https://appdividend.com/2019/05/29/java-multithreading-tutorial-with-example-multithreading-in-java/
- ↑ How to create a thread using lambda expressions in Java? : https://www.tutorialspoint.com/how-to-create-a-thread-using-lambda-expressions-in-java
- ↑ Java JDK 11 -- JavaDocs - Thread class: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html (examples of the two primary methods 1. extends Thread, 2. implements Runnable
- ↑ Invoke method inside a Thread: https://stackoverflow.com/questions/39834848/invoke-method-inside-a-thread
- ↑ What is GC Log, thread dump and Heapdump?: https://blog.heaphero.io/2020/10/16/what-is-gc-log-thread-dump-and-heapdump/
- ↑ The jmap Utility: http://www.cs.gettysburg.edu/java/docs/technotes/guides/troubleshoot/tooldescr014.html
- ↑ Recommendations for a heap analysis tool for Java?: https://stackoverflow.com/questions/2064427/recommendations-for-a-heap-analysis-tool-for-java
- ↑ DZone - Java Heap Dump Analyzer overview: https://dzone.com/articles/java-heap-dump-analyzer-1
- ↑ Java Memory Analysis - Problems and Solutions (SLIDES): https://www.slideshare.net/MikhailMishaDmitriev/java-memory-analysis-problems-and-solutions?ref=https://jxray.com/
- ↑ Largest Contentful Paint: https://web.dev/largest-contentful-paint
- ↑ Beyond Speed - Why You Should Be Tracking Interactive Metrics: https://rigor.com/blog/tracking-interactive-metrics-speed
- ↑ The “Best” Performance Metrics? Start with These Six: https://rigor.com/blog/six-web-performance-metrics-to-watch
- ↑ Does the <script> tag position in HTML affects performance of the webpage?: https://stackoverflow.com/questions/4396849/does-the-script-tag-position-in-html-affects-performance-of-the-webpage
- ↑ JavaScript tags, performance and W3C: https://stackoverflow.com/questions/2812496/javascript-tags-performance-and-w3c
- ↑ Building a Culture of Performance in Springfield: The Simpsons as Metrics: https://rigor.com/blog/the-simpsons-as-performance-metric
- ↑ Viewability best practices: https://support.google.com/admanager/answer/6199883?hl=en
- ↑ Load google analytics javascript few seconds after the page has loaded: https://stackoverflow.com/questions/7930109/load-google-analytics-javascript-few-seconds-after-the-page-has-loaded
- ↑ Remove or Defer Blocking JS: https://developers.google.com/speed/docs/insights/BlockingJS
- ↑ Lazy load Google Analytics: https://gist.github.com/Nilpo/8129926
- ↑ Loading Third-Party JavaScript: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/
- ↑ How does Google Analytics affect mobile speed?: pagepipe.com/how-does-google-analytics-affect-mobile-page-speed/
- ↑ Google Analytics And The Page Load: https://www.simoahava.com/analytics/google-analytics-page-load/
- ↑ How to Append <script></script> in javascript?: https://stackoverflow.com/questions/9413737/how-to-append-script-script-in-javascript
- ↑ load scripts asynchronously: https://stackoverflow.com/questions/7718935/load-scripts-asynchronously#7719185
- ↑ Dynamically include Javascript within HTML body: https://techblog.synagila.com/2014/07/09/dynamically-include-javascript-within-html-body/
- ↑ Gotchas with dynamically adding script tags to HTML: https://www.danielcrabtree.com/blog/25/gotchas-with-dynamically-adding-script-tags-to-html
- ↑ Everything I Know About The Script Tag: https://eager.io/blog/everything-I-know-about-the-script-tag/
- ↑ The Curious Case of document.write: https://eager.io/blog/the-curious-case-of-document-write/
- ↑ JavaScript Madness -- Dynamic Script Loading: https://unixpapa.com/js/dyna.html
- ↑ The best way to load external JavaScript: https://humanwhocodes.com/blog/2009/07/28/the-best-way-to-load-external-javascript/
- ↑ How to insert <script> tag before </body>?: https://github.com/nuxt/nuxt.js/issues/2000
- ↑ Lazy Loading Images on the Web: https://developer.telerik.com/featured/lazy-loading-images-on-the-web/
- ↑ Lazy Loading Images: https://css-tricks.com/snippets/javascript/lazy-loading-images/
- ↑ Five Techniques to Lazy Load Images for Website Performance: https://www.sitepoint.com/five-techniques-lazy-load-images-website-performance/
- ↑ Lazy Loading with Intersection Observer Example: https://developers.google.com/web/fundamentals/performance/lazy-loading-guidance/images-and-video/ | DEMO
- ↑ Extend feature detection with isIntersecting: https://github.com/w3c/IntersectionObserver/issues/211
- ↑ Binding image lazy loading to new images inserted after ajax request: https://stackoverflow.com/questions/10035985/binding-image-lazy-loading-to-new-images-inserted-after-ajax-request
- ↑ Lazy Loading remastered -- Delay loading of images until user scrolls to them: https://appelsiini.net/projects/lazyload/
- ↑ YUI lib -- ImageLoader utility: https://yuilibrary.com/yui/docs/imageloader/
- ↑ Web.dev -- content-visibility - the new CSS property that boosts your rendering performance: https://web.dev/content-visibility/
- ↑ Content-visibility and Accessible Semantics: https://marcysutton.com/content-visibility-accessible-semantics
- ↑ More on content-visibility : https://css-tricks.com/more-on-content-visibility/
- ↑ Short note on content-visibility: hidden: https://html5accessibility.com/stuff/2020/08/25/short-note-on-content-visibility-hidden/
- ↑ Can multiple event listeners/handlers be added to the same element using javascript?: https://stackoverflow.com/questions/5411055/can-multiple-event-listeners-handlers-be-added-to-the-same-element-using-javascr
- ↑ Event listener performance with vanilla JS: https://gomakethings.com/event-listener-performance-with-vanilla-js/
- ↑ Cross-browser event listener with design patterns: https://web.archive.org/web/20120331200901/http://javascriptrules.com:80/2009/07/22/cross-browser-event-listener-with-design-patterns/
- ↑ Can we have multiple $ (document).ready() functions in jQuery? If yes, then what is the main advantage?: https://www.quora.com/Can-we-have-multiple-document-ready-functions-in-jQuery-If-yes-then-what-is-the-main-advantage
- ↑ jQuery - multiple $(document).ready …?: https://stackoverflow.com/questions/5263385/jquery-multiple-document-ready
- ↑ Can you have multiple $(document).ready(function(){ … }); sections?: https://stackoverflow.com/questions/1327756/can-you-have-multiple-document-readyfunction-sections
- ↑ Event Listeners Efficiency: https://stackoverflow.com/questions/41798755/event-listeners-efficiency
- ↑ Improving Javascript Performance with Event Delegation: http://blog.avenuecode.com/improving-javascript-performance-with-event-delegation
- ↑ Should I reduce event listeners by making functions more complex?: https://softwareengineering.stackexchange.com/questions/340355/should-i-reduce-event-listeners-by-making-functions-more-complex
- ↑ Optimizing javascript performance with many event listeners: https://stackoverflow.com/questions/29004245/optimizing-javascript-performance-with-many-event-listeners
- ↑ Does adding too many event listeners affect performance?: https://stackoverflow.com/questions/28627606/does-adding-too-many-event-listeners-affect-performance (benchmarks show "ID" attribute selectors faster than "class" attribute selectors)
- ↑ Event Delegation vs Direct Binding when adding complex elements to a page: https://stackoverflow.com/questions/8827430/event-delegation-vs-direct-binding-when-adding-complex-elements-to-a-page
- ↑ Speed Up Scroll Events with Passive Event Listeners: https://alligator.io/js/speed-up-scroll-events/
- ↑ Optimizing javascript performance with many event listeners: https://stackoverflow.com/questions/29004245/optimizing-javascript-performance-with-many-event-listeners
- ↑ Verizon buys Yahoo! for $4.83 billion USD: https://techcrunch.com/2016/07/25/verizon-buys-yahoo-for-4-83-billion/
- ↑ yslow Yahoo! dev network (old link, now redirects): http://developer.yahoo.com/yslow/
- ↑ Find And Fix The Hogs On Your Site Using YSlow Firefox Add-On: https://www.maketecheasier.com/find-and-fix-the-hogs-on-your-site-using-yslow-firefox-add-on/
- ↑ YSlow is broken after update to Firefox 36: https://github.com/marcelduran/yslow/issues/142
- ↑ Yslow won't automatically open: https://groups.google.com/forum/#!topic/showslow/kQ4qSnPeSSc
- ↑ Firebug is not working with Firefox version 50.0:http://stackoverflow.com/questions/40800173/firebug-is-not-working-with-firefox-version-50-0/42218128#42218128 (on FF, yslow depends on Firebug)
- ↑ Unifying Firebug & Firefox DevTools -- Unifying Firebug & Firefox DevTools: https://blog.getfirebug.com/2016/06/07/unifying-firebug-firefox-devtools/ (as of FF 50.x+ Firebug & FF Dev Tools are one and the same) | SRC
- ↑ Install an older version of Firefox: https://support.mozilla.org/t5/Install-and-Update/Install-an-older-version-of-Firefox/ta-p/1564 (pre-v36.x probably best bet for yslow support)
- ↑ Google's PageSpeed alternative: https://developers.google.com/speed/pagespeed/insights/
- ↑ How to enable YSlow in Firefox?: http://stackoverflow.com/questions/7508548/how-to-enable-yslow-in-firefox
- ↑ A YSlow Alternative for Making Web Pages Faster: http://www.maxcdn.com/blog/coach-yslow-alternative/
- ↑ Google Experimental Speed Report Goes Public: https://www.mediapost.com/publications/article/342833/google-experimental-speed-report-goes-public.html
- ↑ Page Load Times, Technology Are Major Ranking Factors In Google Search Results: https://www.mediapost.com/publications/article/335987/page-load-times-technology-are-major-ranking-fact.html
- ↑ Continuous Performance Analysis with Lighthouse and Jenkins: https://kitconcept.com/blog/continuous-performance-analysis-with-lighthouse-and-jenkins/
- ↑ Lighthouse Bot - TravisCI & GitHub recipe: https://github.com/GoogleChromeLabs/lighthousebot
- ↑ Integrate Google Lighthouse into GitLab's CI to evaluate frontend code performance: https://gitlab.com/gitlab-org/gitlab-ce/issues/33392
- ↑ What do Lighthouse Scores look like across the web?: https://www.tunetheweb.com/blog/what-do-lighthouse-scores-look-like-across-the-web/
- ↑ How to do web (front-end) performance testing with Google Lighthouse & Cypress: https://techbeacon.com/app-dev-testing/how-do-web-performance-testing-google-lighthouse-cypress
- ↑ 9 tools to help you with Java Performance Tuning: https://blog.idrsolutions.com/2014/06/java-performance-tuning-tools/
- ↑ Hypertext Transfer Protocol -- HTTP/1.1 (SECTION on "Caching"): http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
- ↑ Hypertext Transfer Protocol -- HTTP/1.1 (SECTION on "Header Field Definitions"): http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
- ↑ Web Caching: http://www.cisco.com/web/about/ac123/ac147/ac174/ac199/about_cisco_ipj_archive_article09186a00800c8903.html
- ↑ POWER AND MEMORY OPTIMIZATION TECHNIQUES IN EMBEDDED SYSTEMS DESIGN: http://etd.lsu.edu/docs/available/etd-07122005-120721/unrestricted/Allam_dis.pdf
- ↑ MIT - Spring2010 course on Memory Optimization: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-spring-2010/lecture-notes/MIT6_035S10_lec18.pdf
- ↑ Front-End Performance Checklist 2019: https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/#download-the-checklist
- ↑ The “Best” Performance Metrics? Start With These Six: https://rigor.com/blog/six-web-performance-metrics-to-watch
- ↑ Swap usage: http://www.tomshardware.com/answers/id-2141305/swap-usage.html
- ↑ High Swap Utilization, lot's of RAM free: https://developer.jboss.org/thread/70542?_sscc=t
- ↑ How To -- Check SWAP utilization in Linux: https://www.cyberciti.biz/faq/linux-check-swap-usage-command/
- ↑ Swap utilization going over: https://www.linux.com/answers/swap-utilization-going-over
- ↑ 8 Useful Commands to Monitor Swap Space Usage in Linux: https://www.tecmint.com/commands-to-monitor-swap-space-usage-in-linux/
- ↑ Introduction to Profiling Java Applications in NetBeans IDE: https://netbeans.org/kb/docs/java/profiler-intro.html
- ↑ Eclipse Java Profiler: http://stackoverflow.com/questions/2713940/eclipse-java-profiler
- ↑ Java Application Profiling using TPTP: http://www.eclipse.org/articles/Article-TPTP-Profiling-Tool/tptpProfilingArticle.html
- ↑ Deep monitoring with JMX: https://blogs.oracle.com/java-platform-group/entry/deep_monitoring_with_jmx
- ↑ J2SE - About Java Mission Control: https://docs.oracle.com/javacomponents/jmc-5-4/jmc-user-guide/intro.htm#CEGIAGIG
- ↑ Troubleshoot Java Mission Control: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr002.html
- ↑ Simplify Tomcat/JVM Monitoring with Mission Control (JMX) or VisualVM: https://rahulvishwakarma.wordpress.com/2016/06/23/simplify-tomcatjvm-monitoring-with-mission-control-jmx-or-visualvm/
- ↑ Code-based Memory Optimizations: https://www.cs.utexas.edu/~pingali/CS395T/2013fa/lectures/MemoryOptimizations_2013.pdf
- ↑ Script Tag - async & defer: https://stackoverflow.com/questions/10808109/script-tag-async-defer
- ↑ Lead Time vs Cycle Time: https://simplicable.com/new/lead-time-vs-cycle-time
- ↑ Lead Time vs Cycle Time: https://leanandkanban.wordpress.com/2009/04/18/lead-time-vs-cycle-time/
- ↑ Kanban -- Definition of Lead Time and Cycle Time: https://stefanroock.wordpress.com/2010/03/02/kanban-definition-of-lead-time-and-cycle-time/
- ↑ HBS Toolkit - Basic Operations Self-Instructional Workbook: https://web.archive.org/web/20130308112606/https://hbswk.hbs.edu/archive/1460.html
- ↑ How ConnectALL Calculates Lead Time and why measuring Cycle Time is important: https://www.brighttalk.com/webcast/18060/436929
See Also
Agile transformation | DevOps | Dashboard | Performance Testing | HTML | Image | Audio | Video | Web Service | DBMS | Monitoring | IPS | IDS | Security | Productivity | AMP