All Projects â†’ Automattic â†’ lab-assistant

Automattic / lab-assistant

Licence: GPL-2.0 license
A tool to measure performance deltas between two versions of a site

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to lab-assistant

Element
💦Load test your app using real web browsers
Stars: ✭ 204 (+920%)
Mutual labels:  performance-testing, puppeteer
docker-google-lighthouse-puppeteer
Google Lighthouse + Puppeteer / Docker Image
Stars: ✭ 29 (+45%)
Mutual labels:  performance-testing, puppeteer
screenshot
A screenshot API to convert web to image or PDF. Supports desktop and mobile views.
Stars: ✭ 108 (+440%)
Mutual labels:  puppeteer
facebook-login-for-robots
Facebook Login for 🤖 robots
Stars: ✭ 41 (+105%)
Mutual labels:  puppeteer
gatf
Generic Automated Test Framework For API/UI/RPA/Load Testing
Stars: ✭ 15 (-25%)
Mutual labels:  performance-testing
FlareSolverrSharp
FlareSolverr .Net / Proxy server to bypass Cloudflare protection
Stars: ✭ 62 (+210%)
Mutual labels:  puppeteer
puppeteer-report
Convert HTML to PDF by Puppeteer with support of adding a custom header, footer, and page number
Stars: ✭ 90 (+350%)
Mutual labels:  puppeteer
Puppeteer-IE
Headless Internet Explorer NodeJS API inspired by Puppeteer
Stars: ✭ 72 (+260%)
Mutual labels:  puppeteer
xstate-marionettist
Model based testing with Jest, XState and Puppeteer or Playwright made easy
Stars: ✭ 23 (+15%)
Mutual labels:  puppeteer
screenie-server
A Node server with a pool of Puppeteer (Chrome headless) instances for scalable screenshot generation.
Stars: ✭ 19 (-5%)
Mutual labels:  puppeteer
puppeteer-email
Email automation driven by headless chrome.
Stars: ✭ 135 (+575%)
Mutual labels:  puppeteer
k6-operator
An operator for running distributed k6 tests.
Stars: ✭ 170 (+750%)
Mutual labels:  performance-testing
f1
A tool for writing load test scenarios in Golang with a powerful command line runner
Stars: ✭ 81 (+305%)
Mutual labels:  performance-testing
opensea-scraper
Scrapes nft floor prices and additional information from opensea. Used for https://nftfloorprice.info
Stars: ✭ 129 (+545%)
Mutual labels:  puppeteer
dvc-bench
Benchmarks for DVC
Stars: ✭ 17 (-15%)
Mutual labels:  performance-testing
awesome-gatling
A collection of resources covering different aspects of Gatling load-testing tool usage.
Stars: ✭ 36 (+80%)
Mutual labels:  performance-testing
puppeteer-extensions
Convenience functions for the Puppeteer
Stars: ✭ 26 (+30%)
Mutual labels:  puppeteer
tees
Universal test framework for front-end with WebDriver, Puppeteer and Enzyme
Stars: ✭ 23 (+15%)
Mutual labels:  puppeteer
browbeat
Performance monitoring and testing of OpenStack
Stars: ✭ 80 (+300%)
Mutual labels:  performance-testing
energy-use-case-trading-client
Energy Use Case Web UI for Lition Trading Platform
Stars: ✭ 23 (+15%)
Mutual labels:  puppeteer

lab-assistant

lab-assistant is a Puppeteer-based tool that does the grunt work of taking measurements and figuring out how much of a performance change there is between two different versions of your site.

This is a useful tool to run every time you're working on a loading performance improvement. It will help you gauge whether the improvement is real and not just placebo, and it'll give you a number to attach to your PR description, blog post, or annual employee self-assessment survey.

Impress your peers with actual numbers!

Usage

The easiest way to use lab-assistant is with a tool like npx:

npx lab-assistant http://v1.mysite.tld http://v2.mysite.tld

Here's the current full set of options (which you can get with --help):

lab-assistant.js <url> [url2]

Positionals:
  url   URL to fetch content from.
        If `url2` is not specified, this is used for both the new and old
        versions, with the application pausing in between to allow for the
        version swap.
  url2  Second URL to fetch content from.
        If specified, this refers to the new version, while `url` refers to
        the old version.

Options:
  --help              Show help                                        [boolean]
  --verbose, -v       Output more details.            [boolean] [default: false]
  --headless          Whether to use a headless browser.
                                                       [boolean] [default: true]
  --repeat, -r        The number of measurements to take for each version.
                                                          [number] [default: 10]
  --throwaway, -t     The number of throwaway visits to perform before any
                      actual measurements.
                      Keeping it at 1 or increasing the value can help with
                      stability.                           [number] [default: 1]
  --cpu_slowdown, -c  The CPU slowdown throttling to apply (may help achieve
                      more stable results in CPU-heavy pages).          [number]
  --metric, -m        The metric to consider.
                      Metrics:
                      - ttfb: Time to First Byte
                      - fp: First Paint
                      - fcp: First Contentful Paint
                      - dcl: Time to DOMContentLoad event end
                      - load: Time to Load event end
        [string] [choices: "ttfb", "fp", "fcp", "dcl", "load"] [default: "load"]

License

lab-assistant is licensed under GNU General Public License v2 (or later).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].