cargosense / ex_statsd Goto Github PK
View Code? Open in Web Editor NEWStatsD Client for Elixir (EOL: We Recommend Statix)
StatsD Client for Elixir (EOL: We Recommend Statix)
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
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"}
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
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?
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.
As noted in the README, this project is no longer maintained. We recommend you use and support the development of statix instead.
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)
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.
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? ๐ฏโโ๏ธ
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.
For example:
items |> ExStatsD.count("items") |> thing_that_needs_items_intact
** (exit) exited in: GenServer.call(ExStatsD, :stop, 5000)
** (EXIT) bad call: :stop
stacktrace:
(elixir) lib/gen_server.ex:544: GenServer.call/3
...
Though not officially a StatsD thing, DataDog supports events. Is there interest / are there plans for adding events support to ExStatsD?
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.