GithubHelp home page GithubHelp logo

ex_statsd's People

Contributors

benrom avatar benwilson512 avatar bruce avatar c-rack avatar dantswain avatar jongretar avatar joshuawscott avatar manukall avatar muhmi avatar phungleson avatar robinjoseph08 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

Watchers

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

ex_statsd's Issues

Use in test

Hello!

I was wondering how you would recommend using this library in test?

I've seen other libraries (such as this ruby one) may provide an in-memory backend that allows one to make assertions about the metrics being recorded. Do you have a similar system? Or is this not something you see value in testing? :)

Cheers,
Louis

Support run-time environment config

It would be awesome to use run-time environment to configure ex_statsd. You can find helpful lib here: github.com/Nebo15/confex

Example:

config :ex_statsd,
       host: {:system, "STATSD_HOST", "localhost"},
       port: {:system, :integer, "STATSD_PORT", 8125},
       namespace: {:system, "STATSD_NAMESPACE", "os.gateway"}

Sampling implementation

Hello,

We seem to be encountering issues with sampling when the sample rate is set to a relatively low value. As far as I understand from the implementation here, the code takes a random number from 0 to 1, and compares it to the sample rate.

Is this correct? We have our sample rate set to 0.1 (10%), and we were expecting one in every ten values to be sent, but this does not seem to be the case (as the random number generation is independent from call to call).

Could the implementation be changed to something deterministic, like keeping a counter?

Elixir.FunctionClauseError: no function clause matching in Keyword.delete_key/3

Elixir.FunctionClauseError: no function clause matching in Keyword.delete_key/3
  File "inet_udp.erl", line 76, in :inet_udp.connect/3
  File "lib/ex_statsd.ex", line 388, in ExStatsD.maybe_open_socket/1
  File "lib/ex_statsd.ex", line 369, in ExStatsD.handle_cast/2
  File "gen_server.erl", line 616, in :gen_server.try_dispatch/4
  File "gen_server.erl", line 686, in :gen_server.handle_msg/6
  File "proc_lib.erl", line 247, in :proc_lib.init_p_do_apply/3
  Module "Elixir.ExStatsD", in ExStatsD.init/1

Stopped using the official release and pointed at latest master since that has support for ENV variable config.

Now we get this error in production. Actually it brought down our entire app ๐Ÿ˜ฑ

I cannot figure out why it is happening. Any ideas?

Can't set statsd port via environment variable

When setting {:system, "STATSD_PORT"} in mix config port it is not being converted to integer so the process cannot start.

Is this a known issue? I am willing to post a PR for that if it is.

NO LONGER MAINTAINED

As noted in the README, this project is no longer maintained. We recommend you use and support the development of statix instead.

Add a `flush` call

The idea is to force message queue flush (for example, before closing program). I can submit PR if it would help.

(The idea is similar to Logger.flush)

Messages to ExStatsd backup with high throughput web app

I recently experienced an issue where the ExStatsd processes message mailbox got backed up with 200k+ messages. My web api is processing 300 req/s and has 5 stats. After a couple of minutes the ExStatsd process has over 200k messages to process.

I think adding a configurable worker pool would greatly help.

In the short term I switch to using https://github.com/lexmag/statix which was able to handle the high throughput.

Release new version to hex.pm

Hello,

We always have nasty warnings that was fixed in this merge. Can you, please, publish a new package so our eyes will stop bleeding? ๐Ÿ‘ฏโ€โ™‚๏ธ

Release 0.5.1

Will this release be coming soon? It seems to fix an issue I had with timing metrics (for functions) not being reported in certain environments.

`stop` does not appear to work

     ** (exit) exited in: GenServer.call(ExStatsD, :stop, 5000)
         ** (EXIT) bad call: :stop   
     stacktrace:
       (elixir) lib/gen_server.ex:544: GenServer.call/3
    ...

Events

Though not officially a StatsD thing, DataDog supports events. Is there interest / are there plans for adding events support to ExStatsD?

Tests fail

git clone [email protected]:CargoSense/ex_statsd.git
cd ex_statsd/
mix deps.get
mix test
** (CompileError) test/lib/ex_statsd_test.exs:4: undefined function describe/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6

What am I doing wrong?

Create a new Release

The master branch is ahead of the latest release 0.5.3.

It would be great if we could have a release to include at least #36 and #37

Could you please also update hex with the new package ?

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.