Changelog
View Source0.7.2
Added
Telemetry events at the sample-rate gate. statsderl now emits two events that observers can attach to without instrumenting shackle internals:
Event Measurements Metadata Fires when [statsderl, sample, sent]count => 1operation => OperationA metric crosses the rate gate (or rate was 1/1.0) and is dispatched to shackle for UDP send. [statsderl, sample, dropped]count => 1operation => Operation, rate => RateIntThe rate gate suppresses a metric ( Rand > RateInt).Matches the telemetry pattern shackle (0.7.0) and whitecap already use. Event names are stable; the metadata map may grow over time.
telemetry(1.4.2) is now a direct dependency. It was already pulled in transitively via shackle.
Changed
statsderl_sample:rate_scaled/2and the privatecast/1helper now emit the telemetry events above. No behavioural change to return values or wire-format output; the events sit on the existing call paths.
0.7.1
Changed
- Bumped
shackledependency from0.7.0to0.7.1, which itself bumpsmetal 0.1.1 -> 0.1.2andfoil 0.1.3 -> 0.1.4(both infrastructure-only refreshes, plus a tightenederror/0type and a macro-based DRY refactor in foil).
0.7.0 was tagged in git but its hex publish failed (the granderl
removal commit landed past hex's one-hour modification window for
the pre-existing 0.7.0 release). 0.7.1 is the first hex release
to ship the granderl-to-knot swap; behaviour and API are
identical to the 0.7.0 git tag.
0.7.0
Breaking
- Minimum supported Erlang/OTP version is now 25, inherited from
shackle 0.7.0.
Changed
- Replaced the
granderldependency withknot(in-house C NIF using wyrand).statsderl_sample:rate_scaled/2now callsknot:uniform/1— same signature, same range guarantees, no behavioural change at the sample-rate gate. - Bumped
shacklefrom git ref0.6.16to the hex0.7.0release. - Bumped
parse_transfrom3.0.0to3.4.2. - CI matrix now covers OTP 25, 26, 27, 28;
actions/checkoutupgraded to v5. - Documentation migrated from
edowntorebar3_ex_doc(matching shackle 0.7.0). Generateddoc/directory removed from the repo; HTML docs are now published to hexdocs on release.
Why
granderl 0.1.5 on hex.pm fails to build on OTP 27+: its preamble.sh
invokes erl -noshell -s init stop -eval ... with options in an order
that causes the node to terminate before -eval runs, leaving
ERTS_INCLUDE_DIR empty and the C compiler unable to find erl_nif.h.
The fix exists in granderl's master but the hex package is not under
our ownership. knot is a small in-house C NIF (~80 LOC) that
implements the same uniform/1 primitive cleanly on every supported
OTP.