All Projects → AvraamMavridis → performance-budget-plugin

AvraamMavridis / performance-budget-plugin

Licence: other
Perfromance budget plugin for Webpack (https://webpack.js.org/)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to performance-budget-plugin

Sitespeed.io
Sitespeed.io is an open source tool that helps you monitor, analyze and optimize your website speed and performance, based on performance best practices advices from the coach and collecting browser metrics using the Navigation Timing API, User Timings and Visual Metrics (FirstVisualChange, SpeedIndex & LastVisualChange).
Stars: ✭ 4,255 (+6446.15%)
Mutual labels:  performance-metrics, performance-analysis, perfmatters, webperf
Nemetric
前端性能指标的监控,采集以及上报。用于测量第一个dom生成的时间(FP/FCP/LCP)、用户最早可操作时间(fid|tti)和组件的生命周期性能,,网络状况以及资源大小等等。向监控后台报告实际用户测量值。
Stars: ✭ 145 (+123.08%)
Mutual labels:  performance-metrics, performance-analysis, performance-monitoring, webperf
Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (+3409.23%)
Mutual labels:  performance-metrics, performance-analysis, performance-monitoring
Pcm
Processor Counter Monitor
Stars: ✭ 1,240 (+1807.69%)
Mutual labels:  performance-metrics, performance-analysis, performance-monitoring
compile-time-perf
Measures high-level timing and memory usage metrics during compilation
Stars: ✭ 64 (-1.54%)
Mutual labels:  performance-metrics, performance-analysis, performance-monitoring
ember-appmetrics
Ember library used to measure various metrics in your Ember app with ultra simple APIs.
Stars: ✭ 16 (-75.38%)
Mutual labels:  performance-metrics, performance-analysis, performance-monitoring
PerfAvore
Rule based performance analysis and monitoring tool for dotnet written in F#.
Stars: ✭ 12 (-81.54%)
Mutual labels:  performance-analysis, performance-monitoring
Opbeat Node
DEPRECATED - See Elastic APM instead: https://github.com/elastic/apm-agent-nodejs
Stars: ✭ 155 (+138.46%)
Mutual labels:  performance-metrics, performance-monitoring
dashboard.sitespeed.io
Example how to use sitespeed.io to monitor the performance of your web site
Stars: ✭ 43 (-33.85%)
Mutual labels:  performance-monitoring, webperf
Perfcascade
Responsive, SVG based HAR waterfall viewer
Stars: ✭ 225 (+246.15%)
Mutual labels:  performance-metrics, webperf
Junitperf
⛵️Junit performance rely on junit5 and jdk8+.(java 性能测试框架)
Stars: ✭ 86 (+32.31%)
Mutual labels:  performance-metrics, performance-analysis
Apm Agent Rum Js
Elastic APM Real User Monitoring JavaScript agent
Stars: ✭ 166 (+155.38%)
Mutual labels:  performance-metrics, performance-monitoring
PerfSpect
system performance characterization tool based on linux perf
Stars: ✭ 45 (-30.77%)
Mutual labels:  performance-metrics, performance-analysis
Scouter
Scouter is an open source APM (Application Performance Management) tool.
Stars: ✭ 1,792 (+2656.92%)
Mutual labels:  performance-metrics, performance-monitoring
Speedracer
Collect performance metrics for your library/application.
Stars: ✭ 1,868 (+2773.85%)
Mutual labels:  performance-metrics, performance-analysis
Dynamometer
A tool for scale and performance testing of HDFS with a specific focus on the NameNode.
Stars: ✭ 122 (+87.69%)
Mutual labels:  performance-metrics, performance-analysis
webperf-ecommerce-id
⚡️ Web Perf Comparison for E-Commerce in Indonesia
Stars: ✭ 38 (-41.54%)
Mutual labels:  webperf, webperformance
jamonapi
Another repo for jamonapi.com which is primarily hosted on sourceforge
Stars: ✭ 57 (-12.31%)
Mutual labels:  performance-metrics, performance-monitoring
aws-python-utilities
Python utilities for AWS related tasks.
Stars: ✭ 34 (-47.69%)
Mutual labels:  performance-analysis, performance-monitoring
Lighthouse Batch
Run Lighthouse analysis over multiple sites in a single command
Stars: ✭ 83 (+27.69%)
Mutual labels:  performance-metrics, performance-analysis

performance-budget-plugin for webpack

Measure the impact of your changes to the performance of your application. The plugin works with the help of webpack dev server and gathers metrics between the re-builds (every time you make some changes in your codebase). It is recommended to have the hot module replacement disabled when you use this plugin.

A performance budget provides values against which design, development, content, or any aspect of a site that may affect performance, can be made.

The aim of the plugin is to analyze the performance of the website against a performance bugdet.

forthebadge

Install

npm install performance-budget-plugin [--save-dev]

Setup

// webpack.config.js

var PerformanceBudgetPlugin = require('performance-budget-plugin');

module.exports = {
  // ...

  plugins: [
    new PerformanceBudgetPlugin({
      timeToFirstCss: 500, // ms, default: Infinity
      timeToFirstJs: 1500, // ms, default: Infinity
      jsSize: 50000, // bytes, default: Infinity
      cssSize: 30000, // bytes, default: Infinity
      domInteractive: 6000, // ms, default: Infinity
      domContentLoaded: 7000, // ms, default: Infinity
      domComplete: 8000, // ms, default: Infinity
      metricsSummary: 'minimal' // options: [verbose, minimal, true, false], default: false,
      numberOfRebuilds: 3 // number of rebuilds before displaying metrics, default 2
    })
  ]
  // ...
}

Results

A little while after webpack finishes the compilation you will get in your terminal impacts of your changes. e.g.

Screen_Shot_2017_03_16_at_18_36_40

Passing minimal as value of the metricsSummary option will give you some more info about your application.

Screen_Shot_2017_03_16_at_18_41_19

Passing verbose you will get some more in-depth info.

Screen_Shot_2017_03_16_at_18_45_52

Options

All options are optional. Apart from the available metrics you can also pass metricsSummary and numberOfRebuilds

Available Metrics

Any of the following can be passed to as param to the options object

requests, gzipRequests, postRequests, httpsRequests, notFound, timeToFirstByte, timeToLastByte, bodySize, contentLength, httpTrafficCompleted, ajaxRequests, htmlCount, htmlSize, cssCount, cssSize, jsCount, jsSize, jsonCount, jsonSize, imageCount, imageSize, webfontCount, webfontSize, videoCount, videoSize, base64Count, base64Size, cacheHits, cacheMisses, cachePasses, domains, domInteractive, domContentLoaded, domComplete, maxRequestsPerDomain, medianRequestsPerDomain, cookiesSent, cookiesRecv, domainsWithCookies, documentCookiesLength, documentCookiesCount, assetsNotGzipped, assetsWithQueryString, assetsWithCookies, smallImages, smallCssFiles, smallJsFiles, multipleRequests, smallestResponse, biggestResponse, fastestResponse, slowestResponse, smallestLatency, biggestLatency, medianResponse, medianLatency, requestsToFirstPaint, domainsToFirstPaint, requestsToDomContentLoaded, domainsToDomContentLoaded, requestsToDomComplete, domainsToDomComplete,

Like performance-budget-plugin?

Support it by giving feedback, contributing or just by 🌟 starring the project!

Contribute

Any pull-request is more than welcome 💥 😄

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code.

Contact

twitter: @avraamakis

License

MIT

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].