{"id":19094507,"url":"https://github.com/risto-stevcev/statsd-grapher","last_synced_at":"2025-06-19T06:38:58.699Z","repository":{"id":57370260,"uuid":"53472825","full_name":"Risto-Stevcev/statsd-grapher","owner":"Risto-Stevcev","description":":chart_with_upwards_trend: A statsd backend that serves an http page with the graphical data","archived":false,"fork":false,"pushed_at":"2016-11-23T07:55:54.000Z","size":1221,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-22T08:26:08.343Z","etag":null,"topics":["backend","chart","graph","statsd","visualization"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/statsd-grapher","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/Risto-Stevcev.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":"2016-03-09T06:06:24.000Z","updated_at":"2017-08-07T09:46:21.000Z","dependencies_parsed_at":"2022-09-26T16:41:09.171Z","dependency_job_id":null,"html_url":"https://github.com/Risto-Stevcev/statsd-grapher","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Risto-Stevcev/statsd-grapher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fstatsd-grapher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fstatsd-grapher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fstatsd-grapher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fstatsd-grapher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Risto-Stevcev","download_url":"https://codeload.github.com/Risto-Stevcev/statsd-grapher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fstatsd-grapher/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260703760,"owners_count":23049448,"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":["backend","chart","graph","statsd","visualization"],"created_at":"2024-11-09T03:30:01.632Z","updated_at":"2025-06-19T06:38:53.680Z","avatar_url":"https://github.com/Risto-Stevcev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# statsd-grapher\n\n[![Build Status](https://travis-ci.org/Risto-Stevcev/statsd-grapher.svg)](https://travis-ci.org/Risto-Stevcev/statsd-grapher)\n[![Coverage Status](https://coveralls.io/repos/github/Risto-Stevcev/statsd-grapher/badge.svg?branch=master)](https://coveralls.io/github/Risto-Stevcev/statsd-grapher?branch=master)\n\n:chart_with_upwards_trend: A statsd backend that serves an http page with the graphical data. This is an alternative to using graphite, and can simply be hosted \non a free Heroku instance.\n\nView the [annotated source](http://risto-stevcev.github.io/statsd-grapher/docs/utils.html)\n\n# Quick use\n\n1. Install and set up statsd-grapher\n\n  ```bash\n  $ npm install statsd statsd-grapher --save\n  $ cp node_modules/statsd-grapher/exampleConfig.js .\n  $ ./node_modules/.bin/statsd exampleConfig.js\n  ```\n\n2. Send some data to your statsd instance\n\n3. Go to your statsd http server to view the graph. The default would be `localhost:3000/stats` \n\n\n# Configuration\n\n## Options\n\n`tokens` ([String]) - An array of tokens used to authenticate access to the graph. Makes it so that the data can only be accessed by an authenticated user (recommended)  \n`expressPort` (Integer) - The port on which the backend http server should run (default: `3000`)  \n`sessionStore` (Object) - The session store object that will be passed into the `store` option for `express-session` (default: `MemoryStore`)  \n`sessionSecret` (String) - The session secret (default: `uuid.v4()`)  \n`sessionExpires` (Integer) - The session expiration time in milliseconds (default: `3600000`)\n\n\n## Urls\n\n`http(s)://hostname:port/stats` - Views all stats. This page may be slow to load if you have a lot of metrics.\n`http(s)://hostname:port/stats/:namespace/:metric` - Views stats from a particular `namespace` and `metric`. If `metric` is set to `all`, then all metrics will be returned for that namespace. Ex: */stats/some.name.space/timers*  \n`http(s)://hostname:port/metrics/:type/:name` - Returns a `JSON` representation of the metric. Ex: */metrics/counter_rates/some.complete.name.space* \n\nNote: If you set `tokens` in your statsd configuration file, then you need to authenticate your session by appending the token as query parameter like this: `/stats?token=your_token_value`. The default session expiration time is 1 hour.\n\n\n# Graphing\n\nThe library currently uses `plotly` to graph the stats. It can often lag when handling large data sets, though I consider this to be a reasonable trade-off due to its robust set of features.\n\n\n# Example Graph\n\n[![Sample Graph](http://risto-stevcev.github.io/statsd-grapher/graph.png)](http://risto-stevcev.github.io/statsd-grapher/graph.png)\n\n\n# Contributors\n\n- Submit an issue citing the feature request first before submitting a PR\n- PRs offering different graphing libraries are encouraged :deciduous_tree:\n- Follow the coding style. Use `ramda`/`sanctuary` to write small generic functions with corresponding `mocha` tests. The functions should be composed in a `point-free` style whenever possible/practical for the DSL\n\n\n# License\n\nLicensed under the MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fristo-stevcev%2Fstatsd-grapher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fristo-stevcev%2Fstatsd-grapher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fristo-stevcev%2Fstatsd-grapher/lists"}