{"id":19390838,"url":"https://github.com/tecnickcom/statsd","last_synced_at":"2025-08-01T14:04:10.509Z","repository":{"id":57500369,"uuid":"71111496","full_name":"tecnickcom/statsd","owner":"tecnickcom","description":"An efficient Statsd Go client.","archived":false,"fork":false,"pushed_at":"2025-07-03T14:28:19.000Z","size":92,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-03T15:36:40.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"alexcesaro/statsd","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tecnickcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ"]}},"created_at":"2016-10-17T07:29:33.000Z","updated_at":"2025-07-03T14:22:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"040fa484-3c3a-4914-aad7-58db54187951","html_url":"https://github.com/tecnickcom/statsd","commit_stats":{"total_commits":45,"total_committers":6,"mean_commits":7.5,"dds":0.4666666666666667,"last_synced_commit":"7fe4febb31322a21ec53298de4b08de59f49e4a6"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/tecnickcom/statsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fstatsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fstatsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fstatsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fstatsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tecnickcom","download_url":"https://codeload.github.com/tecnickcom/statsd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fstatsd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268240279,"owners_count":24218355,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-10T10:23:34.159Z","updated_at":"2025-08-01T14:04:10.473Z","avatar_url":"https://github.com/tecnickcom.png","language":"Go","funding_links":["https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ"],"categories":[],"sub_categories":[],"readme":"# statsd\n\n*[Statsd](https://github.com/etsy/statsd) Go client library*\n\nThis project has been originally forked and extended from https://github.com/alexcesaro/statsd\n\nThis package is a simple and efficient StatsD client.\nStatsD is a network daemon that listens for statistics and aggregates them to one or more pluggable backend services (e.g., Graphite).\nFor more information about StatsD, visit the StatsD homepage: https://github.com/etsy/statsd\n\nThe packages documentation is available at: [https://pkg.go.dev/github.com/tecnickcom/statsd](https://pkg.go.dev/github.com/tecnickcom/statsd)\n\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/tecnickcom/statsd.svg)](https://pkg.go.dev/github.com/tecnickcom/statsd)   \n[![check](https://github.com/tecnickcom/statsd/actions/workflows/check.yaml/badge.svg)](https://github.com/tecnickcom/statsd/actions/workflows/check.yaml)\n[![Coverage Status](https://coveralls.io/repos/github/tecnickcom/statsd/badge.svg?branch=main)](https://coveralls.io/github/tecnickcom/statsd?branch=main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tecnickcom/statsd)](https://goreportcard.com/report/github.com/tecnickcom/statsd)\n\n* **category**    Library\n* **license**     [MIT](https://github.com/tecnickcom/statsd/blob/main/LICENSE)\n* **link**        https://github.com/tecnickcom/statsd\n\n-----------------------------------------------------------------\n\n\n## Features\n\n- Supports all StatsD metrics: counter, gauge, timing and set\n- Supports InfluxDB and Datadog tags\n- Fast and GC-friendly: all functions for sending metrics do not allocate\n- Efficient: metrics are buffered by default\n- Simple and clean API\n- 100% test coverage\n\n-----------------------------------------------------------------\n\n\u003ca name=\"quickstart\"\u003e\u003c/a\u003e\n## Developers' Quick Start\n\nTo quickly get started with this project, follow these steps:\n\n1. Ensure you have installed the latest Go version.\n1. Clone the repository: `git clone https://github.com/tecnickcom/statsd.git`.\n2. Change into the project directory: `cd statsd`.\n3. Install the required dependencies and test everything: `DEVMODE=LOCAL make x`.\n\nNow you are ready to start developing with statsd!\n\nThis project includes a *Makefile* that allows you to test and build the project in a Linux-compatible system with simple commands.  \nAll the artifacts and reports produced using this *Makefile* are stored in the *target* folder.  \n\nAlternatively, everything can be built inside a [Docker](https://www.docker.com) container using the command `make dbuild` that uses the environment defined at `resources/docker/Dockerfile.dev`.\n\nTo see all available options:\n```bash\nmake help\n```\n\n-----------------------------------------------------------------\n\n\u003ca name=\"runtest\"\u003e\u003c/a\u003e\n## Running all tests\n\nBefore committing the code, please format it and check if it passes all tests using\n```bash\nDEVMODE=LOCAL make x\n```\n\n-----------------------------------------------------------------\n\n## Example\n```\nc, err := statsd.New() // Connect to the UDP port 8125 by default.\nif err != nil {\n    // If nothing is listening on the target port, an error is returned and\n    // the returned client does nothing but is still usable. So we can\n    // just log the error and go on.\n    log.Print(err)\n}\ndefer c.Close()\n\n// Increment a counter.\nc.Increment(\"foo.counter\")\n\n// Gauge something.\nc.Gauge(\"num_goroutine\", runtime.NumGoroutine())\n\n// Time something.\nt := c.NewTiming()\nping(\"http://example.com/\")\nt.Send(\"homepage.response_time\")\n\n// It can also be used as a one-liner to easily time a function.\npingHomepage := func() {\n    defer c.NewTiming().Send(\"homepage.response_time\")\n\n    ping(\"http://example.com/\")\n}\npingHomepage()\n\n// Cloning a Client allows using different parameters while still using the\n// same connection.\n// This is way cheaper and more efficient than using New().\nstat := c.Clone(statsd.Prefix(\"http\"), statsd.SampleRate(0.2))\nstat.Increment(\"view\") // Increments http.view\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Fstatsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftecnickcom%2Fstatsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Fstatsd/lists"}