dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.97k stars 4.65k forks source link

Follow-up work for PartitionedRateLimiter #68776

Open BrennanConroy opened 2 years ago

BrennanConroy commented 2 years ago

This issue is tracking follow up work from the initial implementation of PartitionedRateLimiter in https://github.com/dotnet/runtime/pull/67677.

ghost commented 2 years ago

Tagging subscribers to this area: @mangod9 See info in area-owners.md if you want to be subscribed.

Issue Details
This issue is tracking follow up work from the initial implementation of `PartitionedRateLimiter` in https://github.com/dotnet/runtime/pull/67677. - [ ] Figure out what interval to use for the internal Timer - Dynamically change it based on the intervals of the replenishing limiters? - Come up with some "good enough" default - Make it an option that the user must configure? - [ ] Background exceptions are currently ignored and not visible to users - Check what other libraries like HttpClient do - Maybe `ExceptionDispatchInfo.Capture` and dispatch throwing to the threadpool so it's at least an unhandled exception - [ ] Start using `IdleDuration` to cleanup internal dictionary when limiters aren't active - Probably don't want to immediately remove limiters when they become idle, likely should wait 10 seconds or something
Author: BrennanConroy
Assignees: BrennanConroy
Labels: `area-System.Threading`
Milestone: 7.0.0
mangod9 commented 2 years ago

since this is tagged under system.threading, checking whether any of this work is still meant for 7?

mangod9 commented 2 years ago

ok to close this out since its still tagged for 7?

mangod9 commented 1 year ago

checking if this is still being looked into for 8?