项目作者: andersonba

项目描述 :
Measuring and monitor assets metrics using Puppeteer and Prometheus
高级语言: JavaScript
项目地址: git://github.com/andersonba/puppeteer-assets.git
创建时间: 2018-03-25T14:31:19Z
项目社区:https://github.com/andersonba/puppeteer-assets

开源协议:MIT License

下载


Puppeteer Assets npm version Build Status

Measuring your assets with metrics using Puppeteer.

Want to know which scripts are loaded in your page? This module allows you to extract and audit the metrics.

Gif CLI

Install

  1. yarn add puppeteer-assets

Usage

Using CLI

  1. puppeteer-assets www.google.com

Advanced usage:

  1. puppeteer-assets www.google.com -t javascript -t css --ignore gooogle-analytics

Run puppeteer-assets --help to more options.

Using on Node.js

  1. import assetsMetrics from 'puppeteer-assets';
  2. await assetsMetrics('https://www.andersonba.com');
  3. {
  4. assets: {
  5. 'https://www.andersonba.com/scripts/main.js': {
  6. mimeType: 'javascript',
  7. rawMimeType: 'application/javascript',
  8. type: 'internal',
  9. gzip: 1621,
  10. size: 1621
  11. },
  12. 'https://www.andersonba.com/scripts/vendor.js': {
  13. mimeType: 'javascript',
  14. rawMimeType: 'application/javascript',
  15. type: 'internal',
  16. gzip: 213438,
  17. size: 213438
  18. },
  19. 'https://www.google-analytics.com/analytics.js': {
  20. mimeType: 'javascript',
  21. rawMimeType: 'text/javascript',
  22. type: 'external',
  23. gzip: 0,
  24. size: 44470
  25. }
  26. },
  27. count: {
  28. internal: { total: 2, javascript: 2 },
  29. external: { total: 1, javascript: 1 },
  30. total: 3
  31. },
  32. size: {
  33. internal: { total: 215059, javascript: 215059 },
  34. external: { total: 44470, javascript: 44470 },
  35. total: 259529
  36. },
  37. gzip: {
  38. internal: { total: 215059, javascript: 215059 },
  39. external: { total: 0, javascript: 0 },
  40. total: 215059
  41. }
  42. }

Prometheus

Explore and monitor your assets metrics using Prometheus and Grafana.

Grafana

You need to configure a webservice to be the Prometheus target.

You can use the official built-in server.

Reference API

assetsMetrics(url, options)

Parameter Description Type Default
url Required. Page URL string
options.mimeTypes MimeTypes to be filtered in the metrics. You can use mapped mimeTypes from options.mimeTypePatterns `Array<RegExp \ string> ` ['javascript']
options.mimeTypePatterns Map the mimeTypes based on regex patterns `Array<RegExp \ string>` { javascript: ['javascript'], css: ['css'] }
options.ignorePatterns Ignore assets based on regex patterns `Array<RegExp \ string>` []
options.internalPatterns Mark asset as internal type based on regex patterns `Array<RegExp \ string>` `[/^(\/\ .\/)/]`
options.cookies Define cookies on the browser using the standard cookie format. Fields name and value are required in the string. Example: name=current_user; value=123456; domain=andersonba.com; path=/. Array<string> []
options.userAgent Define the userAgent to the browser string