Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
dd6ebee
Add sender queue that expires oldest first
StephenWakely Sep 9, 2026
cf0e26e
Remove coalesce time optimisation.
StephenWakely Sep 9, 2026
08cebfc
Include expired drops
StephenWakely Sep 10, 2026
c335ae8
Implement sender queue timeout
StephenWakely Sep 10, 2026
0515f19
Allow waiting indefinitely
StephenWakely Sep 11, 2026
9a7aaa1
Maintain replay and non-replay safe buffers
StephenWakely Sep 14, 2026
2571b80
Simplify test
StephenWakely Sep 14, 2026
7762b14
Fix test
StephenWakely Sep 14, 2026
dce1a3b
Move monotonic to compat
StephenWakely Sep 14, 2026
6df5d2d
Add timeout to stop and wait_for_pending
StephenWakely Sep 14, 2026
53083df
Fix leaving the sender thread and queue in an incoherent state after…
StephenWakely Sep 15, 2026
4e5e2d1
Socket_connect_retry is now a boolean option
StephenWakely Sep 15, 2026
88c4672
Allow backoff to be interrupted
StephenWakely Sep 15, 2026
d02b09e
Add raw payload to queue for replay safe metrics
StephenWakely Sep 16, 2026
ed38131
Keep the split buffers off the per-metric hot path
StephenWakely Sep 17, 2026
ce68cfb
Remove extraneous comment
StephenWakely Sep 17, 2026
c7226f5
Drop manual and benchmark scripts from the PR
StephenWakely Sep 17, 2026
4e89ffb
Drop the last tests/manual file from the PR
StephenWakely Sep 17, 2026
aa0f067
Changelog
StephenWakely Sep 18, 2026
18d3018
Track items requeued to ensure double requeues dont corrupt counter
StephenWakely Sep 18, 2026
39f453b
Fix CI error
StephenWakely Sep 18, 2026
a25955a
Fix python 2
StephenWakely Sep 18, 2026
354428b
Make sender_queue_expiry_seconds configurable.
StephenWakely Sep 21, 2026
5eb45d5
Merge branch 'stephen/sender_queue' into stephen/stop_timeout
StephenWakely Sep 22, 2026
cfa9fb0
Merge remote-tracking branch 'origin/master' into stephen/stop_timeout
StephenWakely Sep 22, 2026
8225d26
Add changelog entry for #987
StephenWakely Sep 22, 2026
1e8e1a4
Honor the shutdown deadline before abandoning a payload stuck retrying
StephenWakely Sep 22, 2026
f2a72ed
Close the queue to producers atomically with appending Stop
StephenWakely Sep 22, 2026
f50ce6a
Simplify: drop _active_queue, gate producers on _sender_stopping instead
StephenWakely Sep 22, 2026
a60989f
Give SenderQueue a closing signal so a wedged put() can't block stop(…
StephenWakely Sep 22, 2026
2e97fac
Remove extraneous comments
StephenWakely Sep 22, 2026
f87f98b
Fix trailing whitespace (flake8 W291)
StephenWakely Sep 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## Unreleased

* [Changed] DogStatsD background sender queue now evicts the oldest queued payloads when full, and drops payloads without an explicit timestamp after they have been queued for more than 10 seconds. See [#986](https://github.com/DataDog/datadogpy/pull/986).
* [Changed] Replace DogStatsD's `socket_connect_timeout` option with a boolean `socket_connect_retry`: when enabled, a UDS connection failure from the background sender is retried indefinitely with backoff instead of dropping the payload immediately. Also add an optional `timeout` parameter to `stop()` and `wait_for_pending()` to bound how long they wait for the queue to drain. See [#987](https://github.com/DataDog/datadogpy/pull/987).

## v0.53.0 / 2026-07-24

Expand Down
Loading
Loading