I am trying to understand how running lighthouse as CI helps me. What I understood is on every PR lighthouse will run on my application that runs on a localhost. But my end users are using the prod environment which is drastically different from localhost and hence the performance scores will be different too. Also i wont be monitoring the exact experience what the end users will be having. An angular app runs on JIT when running on localhost (dev) and turns on the AOT only in prod env. How are we expecting lighthouse CI to give us exact performance scores. Seeking some counter suggestions.
Rationale behing using Lighthouse as github CI
96 Views Asked by Himanshu Saraswat At
1
There are 1 best solutions below
Related Questions in GITHUB-ACTIONS
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
Related Questions in LIGHTHOUSE
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
Related Questions in GITHUB-CI
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
Related Questions in LIGHTHOUSE-CI
- Angular Show All When No Filter Is Supplied
- Why does a function show up as not defined
- I count the time the user takes to solve my quiz using Javascript but I want the same time displayed on another page
- Set "More" "Less" font size
- Using pagination on a table in AngularJS
- How to sort these using Javascript or Jquery Most effectively
- how to fill out the table with next values in array with one button
- State with different subviews
- Ajax jQuery firing multiple time display event for the same result
- Getting and passing MVC Model data to AngularJS controller
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It's true the Lighthouse Performance score is subject to high variability and that development environment can be quite different to the production environment.
Lighthouse gives a lot more info than just the Performance Score. The other audits can pick up performance best practices (e.g. ensuring things like image width and heights are set, JavaScript file sizes...etc.). So there is plenty of value in running Lighthouse even though the score is different. In fact in the past I have advocated ignoring the time-related scores completely due to their variability.
However, the performance metrics can also be useful to catch regressions, provided you can deal with the variability (e.g. have dedicated runners of similar specs, and rerunning multiple times and picking the median run). Think of the score more as a comparative number for multiple similar runs, rather than an absolute score.
Finally, you are right that any lab-based performance test may, or may not, be representative of how real users experience your website. As per above, Lighthouse can still catch potential performance problems or regressions but it does not guarantee good performance ultimately post-release. You should measure field data too, and understand how representative your Lighthouse runs are.
Put it this way, code linters are often for identifying code best practices rather than necessarily spotting issues that will cause performance bugs. But that doesn't mean there is no value in linters. I think of Lighthouse as a performance linting tool, rather than absolute measure of a performance score to hit.