[HTTP] The Rate-Limiter UX improvements#227678
Conversation
b5ff319 to
38b37ae
Compare
|
Pinging @elastic/kibana-core (Team:Core) |
florent-leborgne
left a comment
There was a problem hiding this comment.
Docs changes LGTM.
Just one thing that I'm not sure of: Will these changes also apply to API users using previous versions like 9.0 or 9.1? If not, it may be good too call out that this change applies from version 9.2 using an availability property as demonstrated on this page. These can also be applied at the parameter and property level when those availabilities are introduced later than the original API-level availability.
Ignore my comment if not relevant for this change :)
jloleysens
left a comment
There was a problem hiding this comment.
Just left a few drive-by comments, overall this looks great! Would be awesome to see a demo of this new error page to get a better sense of the UX.
src/core/packages/fatal-errors/browser-internal/src/fatal_error_screen.tsx
Outdated
Show resolved
Hide resolved
elena-shostak
left a comment
There was a problem hiding this comment.
Security test changes LGTM
38b37ae to
d0625ee
Compare
💔 Build Failed
Failed CI Steps
Test Failures
Metrics [docs]Module Count
Public APIs missing comments
Page load bundle
Unknown metric groupsAPI count
ESLint disabled line counts
Total ESLint disabled count
History
cc @dokmic |
d0625ee to
e8454ac
Compare
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
1 similar comment
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
## Summary This PR addresses the following items: - Exclude critical routes from the rate-limiter to serve basic functionality (resolves elastic#227771). - Refactor the fatal errors service to make it extensible (resolves elastic#227776). - Get rid of `enzyme` in the fatal errors service (resolves elastic#227777). - Add an error page showing when the server is overloaded (resolves elastic#221387). - Add a response header returning the cooldown timeout (resolves elastic#221386). - Add support for intercepting the fetch call to provide better extensibility of the HTTP client (resolves elastic#227774). - Add a mechanism for repeating throttled HTTP requests (resolves elastic#221385). - Extend the status service to report rate-limiting (resolves elastic#212814). ## Testing To test the error page, headers, and the request repetition, please use the following config snippet: ```yaml server.rateLimiter.enabled: true server.rateLimiter.elu: 0.01 server.rateLimiter.term: short ``` To test the status changes, please increase the threshold value and refresh Kibana a few times: ```yaml server.rateLimiter.elu: 0.2 ```
Summary
This PR addresses the following items:
enzymein the fatal errors service (resolves [Unzyme] Removeenzymedependencies in the fatal errors service #227777).Testing
To test the error page, headers, and the request repetition, please use the following config snippet:
To test the status changes, please increase the threshold value and refresh Kibana a few times:
Screenshots
Server is overloaded error page
Error page with a countdown