fluxninja / aperture

Rate limiting, caching, and request prioritization for modern workloads
https://docs.fluxninja.com
Apache License 2.0
641 stars 25 forks source link

Fix limit by label key #3033

Closed tanveergill closed 11 months ago

tanveergill commented 11 months ago

Description of change

Checklist

Summary by CodeRabbit

coderabbitai[bot] commented 11 months ago

Walkthrough

The codebase has been updated to replace the deprecated GetLabelKey method with the new GetLimitByLabelKey method in the RateLimiter interface. The quotaScheduler and rateLimiter types now use the new method for retrieving label keys. If the new method returns an empty string, a deprecation warning is logged, and the old method is used as a fallback.

Changes

File Path Change Summary
.../quota-scheduler/quota-scheduler.go Updated getLabelKey to use GetLimitByLabelKey with a fallback to deprecated GetLabelKey.
.../rate-limiter/rate-limiter.go Replaced GetLabelKey with GetLimitByLabelKey in TakeIfAvailable method and lbProto.Parameters.

🐇✨ In the land of code, where the rabbits hop, We've changed our keys, from bottom to top. No more old ways, as we dance in the light, With GetLimitByLabelKey, our code takes flight! 🚀🌟


Tips ### Chat with CodeRabbit Bot (`@coderabbitai`) - If you reply to a *review comment* from CodeRabbit, the bot will automatically respond. - To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment - Note: Review comments are made on code diffs or files, not on the PR overview. - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Note: For conversation with the bot, please use the review comments on code diffs or files. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - The JSON schema for the configuration file is available [here](https://coderabbit.ai/integrations/coderabbit-overrides.v2.json). - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json`