{"id":19839055,"url":"https://github.com/fedebertolini/lighthouse-graphite","last_synced_at":"2025-05-01T18:31:50.691Z","repository":{"id":33619346,"uuid":"160056634","full_name":"fedebertolini/lighthouse-graphite","owner":"fedebertolini","description":"NodeJS app that get metrics from a website using lighthouse and sends them to a graphite service","archived":false,"fork":false,"pushed_at":"2023-01-07T04:00:42.000Z","size":617,"stargazers_count":7,"open_issues_count":8,"forks_count":5,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-20T14:09:16.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fedebertolini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-02T14:38:50.000Z","updated_at":"2022-03-23T05:34:55.000Z","dependencies_parsed_at":"2023-01-15T01:41:05.952Z","dependency_job_id":null,"html_url":"https://github.com/fedebertolini/lighthouse-graphite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Flighthouse-graphite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Flighthouse-graphite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Flighthouse-graphite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedebertolini%2Flighthouse-graphite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedebertolini","download_url":"https://codeload.github.com/fedebertolini/lighthouse-graphite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251871521,"owners_count":21657467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:20:08.764Z","updated_at":"2025-05-01T18:31:50.361Z","avatar_url":"https://github.com/fedebertolini.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lighthouse-graphite\n\nNodeJS app that get metrics from a website using [lighthouse](https://github.com/GoogleChrome/lighthouse/) and sends them to a graphite service.\n\n## Installation\n\n`npm i -g lighthouse-graphite`\n\n## Usage\n\n`lighthouse-graphite url [flags]`\n\n### flags\n\n-   `--runs` (Number, defaults to `3`): number of lighthouse runs.\n-   `--graphite-host` (String): the host of the graphite service where metrics are going to be sent to. If not defined, the metrics will be only printed in the console.\n-   `--graphite-prefix` (String, defaults to empty string): the argument's value will be added as a prefix to all metrics sent to graphite. You should at least set the website's url (replace all dots and other special characters to avoid issues with graphite), to be able to collect different metrics for different pages without metric collision.\n-   `--metrics-blacklist` (Values separated by commas, defaults to empty string): set this argument to ignore one or more metrics from being sent to graphite. This is useful when you have a limit on the number of metrics stored by graphite. Names of metrics are listed below.\n-   `--function-blacklist` (Values separated by commas, defaults to empty string): set this argument to ignore one or more aggregation functions from being sent to graphite. This is useful when you have a limit on the number of metrics stored by graphite. Possible values: `min`, `max`, `mean` and `median`.\n-   `--blocked-url-patterns` (Values separated by commas, defaults to empty string): set this argument to tell Chrome what URLs of requests to block while loading the page. Basic wildcard support using `*`.\n-   `--chrome-flags` (Values separated by commas, defaults to `--no-sandbox,--headless,--incognito`): set this to pass custom flags to Chrome.\n\nThe following command will run `lighthouse` 5 times on `https://www.example.com`, ignore the `mean` and `max` functions, and ignore the `seo-score` and `best-practices-score` metrics:\n\n`lighthouse-graphite https://www.example.com --run=5 --graphite-host=graphite.example.com --graphite-prefix=lighthouse.example_com --metrics-blacklist=seo-score,best-practices-score --function-blacklist=mean,max`\n\nThese metrics would be sent to `graphite.example.com`:\n\n```\nlighthouse.example_com.first-contentful-paint.min 751\nlighthouse.example_com.first-contentful-paint.median 751\nlighthouse.example_com.first-meaningful-paint.min 788\nlighthouse.example_com.first-meaningful-paint.median 788\nlighthouse.example_com.speed-index.min 869\nlighthouse.example_com.speed-index.median 900\nlighthouse.example_com.estimated-input-latency.min 12\nlighthouse.example_com.estimated-input-latency.median 12\nlighthouse.example_com.time-to-first-byte.min 106\nlighthouse.example_com.time-to-first-byte.median 107\nlighthouse.example_com.first-cpu-idle.min 824\nlighthouse.example_com.first-cpu-idle.median 825\nlighthouse.example_com.interactive.min 824\nlighthouse.example_com.interactive.median 825\nlighthouse.example_com.network-requests.min 1\nlighthouse.example_com.network-requests.median 1\nlighthouse.example_com.total-byte-weight.min 800\nlighthouse.example_com.total-byte-weight.median 800\nlighthouse.example_com.dom-size.min 13\nlighthouse.example_com.dom-size.median 13\nlighthouse.example_com.performance-score.min 100\nlighthouse.example_com.performance-score.median 100\nlighthouse.example_com.pwa-score.min 50\nlighthouse.example_com.pwa-score.median 50\nlighthouse.example_com.accessibility-score.min 88\nlighthouse.example_com.accessibility-score.median 88\nlighthouse.example_com.total-time.min 4568\nlighthouse.example_com.total-time.median 4627\n```\n\n## Metrics\n\nThe app will collect a sub-set of metrics returned by `lighthouse`, most of them are related to performance. The documentation of these metrics can be found in the [Audit Reference section](https://developers.google.com/web/tools/lighthouse/) of the Lighthouse documentation.\n\nThe list of the collected metrics is:\n\n-   first-contentful-paint\n-   first-meaningful-paint\n-   speed-index\n-   estimated-input-latency\n-   time-to-first-byte\n-   first-cpu-idle\n-   interactive\n-   network-requests\n-   total-byte-weight\n-   dom-size\n-   total-time\n-   performance-score\n-   pwa-score\n-   accessibility-score\n-   best-practices-score\n-   seo-score\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedebertolini%2Flighthouse-graphite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedebertolini%2Flighthouse-graphite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedebertolini%2Flighthouse-graphite/lists"}