{"id":16814988,"url":"https://github.com/markstory/rust-statsd-server","last_synced_at":"2025-10-28T23:43:14.046Z","repository":{"id":35446545,"uuid":"39713273","full_name":"markstory/rust-statsd-server","owner":"markstory","description":"A statsd server implemented in Rustlang","archived":false,"fork":false,"pushed_at":"2020-09-02T12:55:52.000Z","size":56,"stargazers_count":19,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T01:52:54.940Z","etag":null,"topics":["graphite","metrics","rust","rust-statsd","statsd-server"],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/markstory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-26T04:18:15.000Z","updated_at":"2024-03-25T16:23:18.000Z","dependencies_parsed_at":"2022-08-27T00:42:19.974Z","dependency_job_id":null,"html_url":"https://github.com/markstory/rust-statsd-server","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/markstory%2Frust-statsd-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markstory%2Frust-statsd-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markstory%2Frust-statsd-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markstory%2Frust-statsd-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markstory","download_url":"https://codeload.github.com/markstory/rust-statsd-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328108,"owners_count":21085258,"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":["graphite","metrics","rust","rust-statsd","statsd-server"],"created_at":"2024-10-13T10:32:04.022Z","updated_at":"2025-10-28T23:43:09.014Z","avatar_url":"https://github.com/markstory.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Statsd Server\n\n[![Build Status](https://travis-ci.org/markstory/rust-statsd-server.svg?branch=master)](https://travis-ci.org/markstory/rust-statsd-server)\n\nThis is a statsd server implementation written in rust. It aims to be as\ncompatible as possible with etsy/statsd.\n\n# Building the application\n\n1. Clone the repository.\n2. Run `make install`.\n3. The generated binary will be in `dist/statsd`.\n\n# Running tests\n\nAfter cloning the repository you can run either the unit tests, and or the\nintegration tests. The integration tests require python 2.7 and that port 8125\nbe free on your system.\n\n```\nmake test\n```\n\nWill run both the unit and integration tests.\n\n# Usage\n\nThe statsd server has several options to control which ports it runs on:\n\n```\n-p, --port=\u003cp\u003e        The UDP port to bind to [default: 8125].\n--admin-host=\u003cp\u003e      The host to bind the management server on. [default: 127.0.0.1]\n--admin-port=\u003cp\u003e      The port to bind the management server to. [default: 8126]\n```\n\n## Changing how frequently metrics are output\n\n```\n--flush-interval=\u003cp\u003e  How frequently to flush metrics to the backends in seconds. [default: 10].\n```\n\nOn each flush interval event, derived metrics for timers are calculated. This\nduration is tracked as `statsd.processing_time`. You can use this metric to\ntrack how long statsd is spending generating derived metrics.\n\n## Enabling the console or graphite backends\n\nBy default no backends are enabled. In this mode the statsd server doesn't do\nthat much. To enable one or both backends use the CLI flags:\n\n```\n--console             Enable the console backend.\n--graphite            Enable the graphite backend.\n```\n\nThe graphite backend has additional options for defining where graphite/carbon\nruns:\n\n```\n--graphite-port=\u003cp\u003e   The port graphite/carbon is running on. [default: 2003].\n--graphite-host=\u003cp\u003e   The host graphite/carbon is running on. [default: 127.0.0.1]\n```\n\n## Internal metrics\n\nThis server tracks a few internal metrics:\n\n* `statsd.bad_messages` The number of invalid metrics that have been sent since\n  the last flush.\n* `statsd.total_messages` The number of messages received including invalid\n  messages.\n* `statsd.processing_time` How many ms were spent calculating derived metrics\n  in the current flush cycle.\n\n\n## Prior Art\n\nI took a bunch of inspiration in how to implement and structure this\nimplementation from [erik/rust-statsd](https://github.com/erik/rust-statsd).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkstory%2Frust-statsd-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkstory%2Frust-statsd-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkstory%2Frust-statsd-server/lists"}