• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dnsimple / erldns / 15780289435
84%

Build:
DEFAULT BRANCH: main
Ran 20 Jun 2025 01:41PM UTC
Jobs 1
Files 34
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jun 2025 01:40PM UTC coverage: 76.463% (+0.6%) from 75.862%
15780289435

push

github

web-flow
Backpressure (#240)

* Add change to changelog

* Acceptor pool is not using any feature of wpool so make it more lightweight

* Correct Ranch parallelism

This flag is per configured connection supervisor and not global,
hence we don't need to multiply here by parallelism.

The value chosen is by the following calculation: if a light request
takes 1ms, and we queue N of them in a scheduler, the last one would be
delayed by N ms, which would probably be about to hit the ingress
timeout. So that's the maximum number of requests per scheduler allowed.

* Introduce mechanism to ignore expired requests

Every request, when picked, will compare the current timestamp against
the originally emitted one, and if the timeout has expired (by default,
the configured udp and tcp ingress timeouts), the worker will simply
ignore this request entirely and not even answer, as most likely the
client has already considered this request and timed-out.

* Introduce load-shedding mechanism

Listeners will get packets from the network in batches, and before
taking the next batch, they will check the current state of the
schedulers utilisation. When utilisation is above 90%, listeners will
probabilistically delay taking the next batch, leaving it to the
kernel's network stack to start dropping packets entirely.

* Introduce an API to hard restart all listeners

92 of 106 new or added lines in 8 files covered. (86.79%)

1 existing line in 1 file now uncovered.

1150 of 1504 relevant lines covered (76.46%)

2570.64 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
76.36
0.36% src/listeners/erldns_proto_udp.erl
1
97.14
src/listeners/erldns_sch_mon.erl
2
86.49
-3.99% src/listeners/erldns_proto_udp_acceptor.erl
4
74.14
2.44% src/listeners/erldns_proto_tcp.erl
6
91.04
-8.96% src/listeners/erldns_listeners.erl

Uncovered Existing Lines

Lines Coverage ∆ File
1
86.49
-3.99% src/listeners/erldns_proto_udp_acceptor.erl
Jobs
ID Job ID Ran Files Coverage
1 15780289435.1 20 Jun 2025 01:41PM UTC 34
76.46
GitHub Action Run
Source Files on build 15780289435
  • Tree
  • List 34
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15780289435
  • f4e160d3 on github
  • Prev Build on main (#15759860197)
  • Next Build on main (#15780357559)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc