All Projects → lpgauth → Statsderl

lpgauth / Statsderl

Licence: mit
High-Performance Erlang StatsD Client

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to Statsderl

anchor
High-Performance Erlang Memcached Client
Stars: ✭ 15 (-83.7%)
Mutual labels:  client, high-performance
Shackle
High-Performance Erlang Network Client Framework
Stars: ✭ 163 (+77.17%)
Mutual labels:  high-performance, client
Windterm
A quicker and better cross-platform SSH/Sftp/Shell/Telnet/Serial client.
Stars: ✭ 345 (+275%)
Mutual labels:  high-performance, client
Stripe
Typed .NET clients for stripe.com REST APIs
Stars: ✭ 193 (+109.78%)
Mutual labels:  high-performance, client
Zeus
A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
Stars: ✭ 30 (-67.39%)
Mutual labels:  high-performance, client
Plus Small Screen Client
本库已经合并进入 https://github.com/slimkit/plus 中,仅提供 2.1 及以前版本下载使用!
Stars: ✭ 83 (-9.78%)
Mutual labels:  client
Novuscore
A modern take on WoW emulation
Stars: ✭ 88 (-4.35%)
Mutual labels:  client
Smmalloc Csharp
Blazing fast memory allocator designed for video games meets .NET
Stars: ✭ 81 (-11.96%)
Mutual labels:  high-performance
Request Compose
Composable HTTP Client
Stars: ✭ 80 (-13.04%)
Mutual labels:  client
Dipstick
Configurable metrics toolkit for Rust applications
Stars: ✭ 92 (+0%)
Mutual labels:  statsd
Tars
Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.
Stars: ✭ 9,277 (+9983.7%)
Mutual labels:  high-performance
Ignite Book Code Samples
All code samples, scripts and more in-depth examples for the book high performance in-memory computing with Apache Ignite. Please use the repository "the-apache-ignite-book" for Ignite version 2.6 or above.
Stars: ✭ 86 (-6.52%)
Mutual labels:  high-performance
Blog
Java Performance
Stars: ✭ 83 (-9.78%)
Mutual labels:  high-performance
Crowdin Cli
A command-line client for the Crowdin API
Stars: ✭ 89 (-3.26%)
Mutual labels:  client
Python Prometheus Demo
Demo of using Prometheus for monitoring Python web applications
Stars: ✭ 83 (-9.78%)
Mutual labels:  statsd
Workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.3.
Stars: ✭ 9,617 (+10353.26%)
Mutual labels:  high-performance
Zhihu Oauth
尝试解析出知乎官方未开放的 OAuth2 接口,并提供优雅的使用方式,作为 zhihu-py3 项目的替代者,目前还在实验阶段
Stars: ✭ 1,237 (+1244.57%)
Mutual labels:  client
Beagle Im
XMPP client for macOS based on TigaseSwift XMPP library
Stars: ✭ 86 (-6.52%)
Mutual labels:  client
Python Nomad
Client library Hashicorp Nomad
Stars: ✭ 90 (-2.17%)
Mutual labels:  client
Clickhouse.client
.NET client for ClickHouse
Stars: ✭ 85 (-7.61%)
Mutual labels:  client

statsderl

High Performance Erlang StatsD Client

Build Status Coverage Status

Requirements

  • Erlang 16.0 +

Features

  • Performance optimized
  • Parse transform

API

Function Index

Environment variables

Name Type Default Description
base_key base_key() undefined key prefix
hostname inet:ip_address() | inet:hostname() | binary() {127,0,0,1} server hostname
port inet:port_number() 8125 server port
pool_size pos_integer() 4 pool size

base_key options

Option Source Description Example
hostname inet:gethostname/0 use the hostname "h033"
name erl -name use the long node name "[email protected]"
sname erl -sname use the short node name "nonode"

Parse Transform

statsderl_transform is used to pre-compute (at compile time) the scaled sample rate and StatsD packet.

-compile({parse_transform, statsderl_transform}).

Examples

1> statsderl_app:start().
ok.

2> statsderl:counter(["test", $., "counter"], 1, 0.23).
ok.

3> statsderl:decrement("test.decrement", 1, 0.5).
ok.

4> statsderl:gauge([<<"test">>, $., "gauge"], 333, 1.0).
ok.

5> statsderl:gauge_decrement([<<"test.gauge_decrement">>], 15, 0.001).
ok.

6> statsderl:gauge_increment(<<"test.gauge_increment">>, 32, 1).
ok.

7> statsderl:increment(<<"test.increment">>, 1, 1).
ok.

8> statsderl:timing("test.timing", 5, 0.5).
ok.

9> statsderl:timing_fun(<<"test.timing_fun">>, fun() -> timer:sleep(100) end, 0.5).
ok.

10> Timestamp = os:timestamp().
{1448,591778,258983}

11> statsderl:timing_now("test.timing_now", Timestamp, 0.15).
ok.

12> statsderl_app:stop().
ok.

Tests

make test

License

The MIT License (MIT)

Copyright (c) 2011-2016 Louis-Philippe Gauthier

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].