Coder Social home page Coder Social logo

statsd-php's Introduction

statsd-php

⚠️ This repo is abandoned and will no longer be maintained. Please use slickdeals/statsd instead.

A PHP client library for the statistics daemon (statsd) intended to send metrics from PHP applications.

Build Status Donate

Installation

The best way to install statsd-php is to use Composer and add the following to your project's composer.json file:

{
    "require": {
        "domnikl/statsd": "~3.0"
    }
}

Usage

<?php
$connection = new \Domnikl\Statsd\Connection\UdpSocket('localhost', 8125);
$statsd = new \Domnikl\Statsd\Client($connection, "test.namespace");

// the global namespace is prepended to every key (optional)
$statsd->setNamespace("test");

// simple counts
$statsd->increment("foo.bar");
$statsd->decrement("foo.bar");
$statsd->count("foo.bar", 1000);

When establishing the connection to statsd and sending metrics, errors will be suppressed to prevent your application from crashing.

If you run statsd in TCP mode, there is also a \Domnikl\Statsd\Connection\TcpSocket adapter that works like the UdpSocket except that it throws a \Domnikl\Statsd\Connection\TcpSocketException if no connection could be established. Please consider that unlike UDP, TCP is used for reliable networks and therefor exceptions (and errors) will not be suppressed in TCP mode.

<?php
// timings
$statsd->timing("foo.bar", 320);
$statsd->time("foo.bar.bla", function() {
    // code to be measured goes here ...
});

// more complex timings can be handled with startTiming() and endTiming()
$statsd->startTiming("foo.bar");
// more complex code here ...
$statsd->endTiming("foo.bar");

Memory profiling

<?php
// memory profiling
$statsd->startMemoryProfile('memory.foo');
// some complex code goes here ...
$statsd->endMemoryProfile('memory.foo');

// report peak usage
$statsd->memory('foo.memory_peak_usage');

statsd supports gauges, arbitrary values which can be recorded.

This method accepts both absolute (3) and delta (+11) values.

NOTE: Negative values are treated as delta values, not absolute.

<?php
// Absolute value
$statsd->gauge('foobar', 3);

// Pass delta values as a string. 
// Accepts both positive (+11) and negative (-4) delta values.
$statsd->gauge('foobar', '+11'); 

statsd supports sets, so you can view the uniqueness of a given value.

<?php
$statsd->set('userId', 1234);

disabling sending of metrics

To disable sending any metrics to the statsd server, you can use the Domnikl\Statsd\Connection\Blackhole connection 
class instead of the default socket abstraction. This may be incredibly useful for feature flags. Another options is to use Domnikl\Statsd\Connection\InMemory connection class, that will collect your messages but won't actually send them.

Authors

Original author: Dominik Liebler [email protected] Several other contributors - Thank you!

statsd-php's People

Contributors

abranhe avatar anho avatar avj83 avatar bfeaver avatar chadicus avatar cheprasov avatar domnikl avatar drock avatar eldadfux avatar extraordinaire avatar frol-kr avatar johan12 avatar kamermans avatar mike-marcacci avatar milmd90 avatar mitch-seymour avatar mre avatar ooglek avatar particleflux avatar pierredup avatar rgeraads avatar rodnaph avatar steelpangolin avatar sveneld avatar thomasvargiu avatar webmake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

statsd-php's Issues

La méthode get de SalePlaces ne fonctionne pas avec un seul élément

Si la liste d'Id fournie ne contient qu'un élément, alors ce n'est pas un tableau que l'on reçoit dans la fonction get():

Warning:  Invalid argument supplied for foreach() in /var/www/fpietka/php-soap-server/lib/Model/SalePlaces.php on line 52

Ça concerne probablement les autres models

Is there an option to get the data from statsd?

Hi,

I'm a newbie here, but the question I have is in the subject.
There are examples how we can put the data to the statsd, but is there an option to get the data from that daemon?

Or how we supposed to do that?

Thanks

StatsD Monolog Handler

Monolog support would be quite nice. Think it would live in its own repository? Or maybe in Monolog itself, suggesting use of statsd-php?

Long running process with TCP connection does not sent metrics without any error

Recently we have encountered the problem, when some metrics just stopped working. After research I have found, that lost connection is not properly detected in
https://github.com/domnikl/statsd-php/blob/master/lib/Connection/TcpSocket.php#L81 which causes wrongly kept socket connection resource as lazy loading in consequence
https://github.com/domnikl/statsd-php/blob/master/lib/Connection/InetSocket.php#L112

Another library that could be an example of this fix, is working with tcp connection also, and has some kind of checking if packets were sent
https://github.com/bzikarsky/gelf-php/blob/master/src/Gelf/Transport/StreamSocketClient.php#L214
But this approach works on second call (strange), and stops by fault fwrite(): send of 201 bytes failed with errno=32 Broken pipe, which imho is better than think that everything were sent without any error.

Steps to reproduce:
Init connection on console nc -l 8125
let to call $this->connect($this->host, $this->port, $this->timeout, $this->persistent);
then drop connection and call again on console nc -l 8125
and let call $this->writeToSocket($message);

the result is empty on console.

When everything would be working without drop connection, result would be:

$ nc -l 8125
project.metrics.active:285|c

On udp is working despite drop and reconnect

v3.0.0 chagelog

There is nothing about v3.0.0. in CHANGELOG.md
Are there any BC breaks i should know about before updating?

Not almost correct default package size in InetSocket::__construct

Ethernet MTU is 1500, right, but actual payload size in worst case is:

// MTU — (Max IP Header Size) — (UDP Header Size) = 1500 — 60 — 8 = 1432

Also I guess there is a corner case in InetSocket::cutIntoMtuSizedMessages when, after $messageBatch size is calculated, "\n" byte is added after each metric and data may not fit in safe udp payload size.

Truncated Names

After updating to the latest (2.9.1) we saw some odd entries. I believe this is due to the change with cutIntoMtuSizedPackets()
0440a2d

Reverting to 2.6.1 (the previous version we were using) resolved the issue. May be an issue specifically with the UdpSocket somehow; I tried to reproduce with a test using the File connection but could not cause the bug. Here is an example of what would be happening.

use Domnikl\Statsd\Connection\UdpSocket;
use Domnikl\Statsd\Client;

$statsd = new Client(new UdpSocket($host, $port));
$statsd->startBatch();

$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702440,direction=in,inverse_direction=out', 3274, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702440,direction=out,inverse_direction=in', 4176428403, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702441,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702441,direction=out,inverse_direction=in', 4176438271, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702442,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702442,direction=out,inverse_direction=in', 4176437259, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702443,direction=in,inverse_direction=out', 8316, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702443,direction=out,inverse_direction=in', 4176207823, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702444,direction=in,inverse_direction=out', 116455, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702444,direction=out,inverse_direction=in', 3792812512, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702445,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702445,direction=out,inverse_direction=in', 4173572677, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702446,direction=in,inverse_direction=out', 10141, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702446,direction=out,inverse_direction=in', 3790301911, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702447,direction=in,inverse_direction=out', 182561, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702447,direction=out,inverse_direction=in', 3794910331, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702448,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702448,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702449,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702449,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702450,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702450,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702451,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702451,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702452,direction=in,inverse_direction=out', 3336016763, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702452,direction=out,inverse_direction=in', 852235455, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702453,direction=in,inverse_direction=out', 3659315289, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702453,direction=out,inverse_direction=in', 736376453, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702454,direction=in,inverse_direction=out', 3162999138, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702454,direction=out,inverse_direction=in', 172959878, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702455,direction=in,inverse_direction=out', 4213660589, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702455,direction=out,inverse_direction=in', 1330244145, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702456,direction=in,inverse_direction=out', 2850897951, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702456,direction=out,inverse_direction=in', 2149598349, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702457,direction=in,inverse_direction=out', 3172758946, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702457,direction=out,inverse_direction=in', 256283486, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702458,direction=in,inverse_direction=out', 3705858747, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702458,direction=out,inverse_direction=in', 173764693, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702459,direction=in,inverse_direction=out', 467117517, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702459,direction=out,inverse_direction=in', 1402570818, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702460,direction=in,inverse_direction=out', 3106403315, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702460,direction=out,inverse_direction=in', 3958732508, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702461,direction=in,inverse_direction=out', 114411959, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702461,direction=out,inverse_direction=in', 3373959133, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702462,direction=in,inverse_direction=out', 2372647420, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702462,direction=out,inverse_direction=in', 4177286717, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702463,direction=in,inverse_direction=out', 2373313970, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702463,direction=out,inverse_direction=in', 4177329318, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702464,direction=in,inverse_direction=out', 2373937043, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702464,direction=out,inverse_direction=in', 4176945330, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702465,direction=in,inverse_direction=out', 3888, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702465,direction=out,inverse_direction=in', 4177297899, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702466,direction=in,inverse_direction=out', 14640, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702466,direction=out,inverse_direction=in', 4177175459, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702467,direction=in,inverse_direction=out', 3150, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702467,direction=out,inverse_direction=in', 4175408865, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702468,direction=in,inverse_direction=out', 4858, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702468,direction=out,inverse_direction=in', 4177324930, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702469,direction=in,inverse_direction=out', 2320, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702469,direction=out,inverse_direction=in', 4177321543, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702470,direction=in,inverse_direction=out', 2377704152, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702470,direction=out,inverse_direction=in', 4177146302, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702471,direction=in,inverse_direction=out', 219286471, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702471,direction=out,inverse_direction=in', 663582299, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702472,direction=in,inverse_direction=out', 96172381, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702472,direction=out,inverse_direction=in', 471632895, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702473,direction=in,inverse_direction=out', 77890353, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702473,direction=out,inverse_direction=in', 449378980, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702474,direction=in,inverse_direction=out', 218162620, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702474,direction=out,inverse_direction=in', 505208492, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702475,direction=in,inverse_direction=out', 222349469, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702475,direction=out,inverse_direction=in', 885134261, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702476,direction=in,inverse_direction=out', 1906074106, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702476,direction=out,inverse_direction=in', 3823823226, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702477,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702477,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702478,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702478,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702479,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702479,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702480,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702480,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702481,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702481,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702482,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702482,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702483,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702483,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702484,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702484,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702485,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702485,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702486,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702486,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702487,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702487,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702488,direction=in,inverse_direction=out', 475500315, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702488,direction=out,inverse_direction=in', 2005730234, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702489,direction=in,inverse_direction=out', 3534899040, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702489,direction=out,inverse_direction=in', 1377514888, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702490,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702490,direction=out,inverse_direction=in', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702491,direction=in,inverse_direction=out', 0, 1);
$statsd->count('switch_port.octets,app=systemab,identity=systemyz,port_id=2702491,direction=out,inverse_direction=in', 0, 1);

$statsd->endBatch();

we would get some measurement names like

t_id=2702486
tion=in
tion=out
tity=systemyz
ty=systemyz

Timeout bug

We can not setup timeout for UdpSocket less than 1 sec. We need to limit the time of the connection to the statsd server if there are problems with the network.

If you look at the documentation (http://php.net/manual/en/function.fsockopen.php) , you can see that the function can take float value.

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

Problem here:

public function __construct($host = 'localhost', $port = 8125, $timeout = null, $persistent = false, $mtu = 1500)
    {
...
        $this->timeout = ($timeout === null) ? null : (int) $timeout;
    }

Handle dns change

Hi,

First of, thank for this great library!

I am running into a problem when our statsd server changes DNS, the library does not seem to re-resolve the DNS record resulting in a loss of metrics.
I am running a statsd server (datadog) in kubernetes, when the statsd node gets rescheduled to a different node, the DNS record changes. We are connecting to it over UDP and are not using a persistent connection.

Do you have any way to resolve this issue?

implement batch sending

From the etsy/statsd README: "all metrics can also be batch send in a single UDP packet, separated by a newline character."

Alternative sending key in endTiming

When calling startTiming I might not know the key I need to send ( success, fail, etc.)
Would it be better to have the option sending timing to an alternative key.

Collect metrics to file

Sometimes it's very useful to log metrics into a local file and then tail it for debugging purpose. Something like that:

$ tail -f stats.log
file.test.namespace.customer.signed_up:1|c
file.test.namespace.products.viewed:8|c
file.test.namespace.timing.while:2010.7848644257|ms
file.test.namespace.batch:1|c
file.test.namespace.batch:1|c
file.test.namespace.batch:1|c

It would be very nice if the lib had the File connection class.

Tag a release

Hey, thanks for merging #18 - any chance we could get a tagged release I can pull?

Thanks!

Code style impovments

Hi, man!
First of all - thank you for your library. It's very useful for me. But I found some old code styles.

For example tests isn't in composer psr-4 autoload. Maybe add it to composer autoload ?
It's not about bug, it's about just codestyle improvments.
I can do it, if you're not against.

Error in TcpSocket->writeToSocket($message)

Using statsite as backend, i can't use this library because newline used is "\r\n", instead of only "\n".

I tested this overriding TcpSocket and changing writeToSocket method, removing "\r".

Cheers

Sending labels with Metric using statsD

Tried pushing metrics using domnikl client and its working fine. But not able to push labels with the metric values. Please suggest if there is any way to send labels in addition to the metric values using statsd.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.