Due to impact on users of other clients where buffering was enabled by
default, especially in environments and frameworks where fork() is
used we will for the time being disable buffering by default until a
decision is made on the path forward. Buffering can still be turned on
with disable_buffering = False flag it's just that for now it is
defaulted to True.
Description of the Change
Use of DogStatsd via statsd module-level object defaults to synchronous (un-buffered) metric sending.
Use of DogStatsd via the default constructor defaults to synchronous (un-buffered) metric sending.
Alternate Designs
In discussion (TBD). We may revert this and use automated ways to detect environments
that are incompatible to thread-based buffering.
Possible Drawbacks
Lower performance in high-throughput environments.
What does this PR do?
Due to impact on users of other clients where buffering was enabled by default, especially in environments and frameworks where
fork()
is used we will for the time being disable buffering by default until a decision is made on the path forward. Buffering can still be turned on withdisable_buffering = False
flag it's just that for now it is defaulted toTrue
.Description of the Change
DogStatsd
viastatsd
module-level object defaults to synchronous (un-buffered) metric sending.DogStatsd
via the default constructor defaults to synchronous (un-buffered) metric sending.Alternate Designs
In discussion (TBD). We may revert this and use automated ways to detect environments that are incompatible to thread-based buffering.
Possible Drawbacks
Lower performance in high-throughput environments.
Verification Process
Unit tests cover most of this:
Additional Notes
This change may be reversed in the future but for now, the risk is too high for user disruption.
Release Notes
Disable statsd buffering by default. Buffering can be enabled with
disable_buffering = False
flag.Note: Since this is just a partial revert of https://github.com/DataDog/datadogpy/pull/670, removal of both release notes can be done as it's a net-0 change
Review checklist (to be filled by reviewers)
changelog/
label attached. If applicable it should have thebackward-incompatible
label attached.do-not-merge/
label attached.kind/
andseverity/
labels attached at least.