Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add metrics related to timeout #1589

Merged
merged 2 commits into from Feb 14, 2019
Merged

Conversation

minwoox
Copy link
Member

@minwoox minwoox commented Feb 13, 2019

Motivation:
It would be nice if we provide request timeout metrics by default.

Modifications:

  • Add counters
    • timeouts{cause=RequestTimeoutException} (server-side)
    • timeouts{cause=WriteTimeoutException} (client-side)
    • timeouts{cause=ResponseTimeoutException} (client-side)
  • Add ServiceRequestContext.isTimedOut()
    • Deprecate RequestContext.isTimedOut()

Result:

Motivation:
It would be nice if we provide timeout metrics by default.

Modifications:
- Add `requestTimeout` metric in server-side
- Add `responseTimeout` and `writeTimeout` metrics in client-side
- Add `ServiceRequestContext.isRequestTimedOut()`
  - Deprecate `RequestContext.isTimedOut()`

Result:
- More metrics
- Close line#1580
@codecov
Copy link

codecov bot commented Feb 13, 2019

Codecov Report

Merging #1589 into master will decrease coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #1589      +/-   ##
============================================
- Coverage     72.83%   72.83%   -0.01%     
- Complexity     7544     7548       +4     
============================================
  Files           697      697              
  Lines         30324    30353      +29     
  Branches       3701     3704       +3     
============================================
+ Hits          22087    22108      +21     
- Misses         6330     6343      +13     
+ Partials       1907     1902       -5
Impacted Files Coverage Δ Complexity Δ
...inecorp/armeria/common/AbstractRequestContext.java 61.53% <ø> (ø) 20 <0> (ø) ⬇️
...linecorp/armeria/server/ServiceRequestContext.java 40% <ø> (ø) 2 <0> (ø) ⬇️
...va/com/linecorp/armeria/common/RequestContext.java 58.73% <ø> (ø) 22 <0> (ø) ⬇️
...armeria/server/metric/MetricCollectingService.java 100% <100%> (ø) 4 <1> (ø) ⬇️
.../armeria/internal/metric/RequestMetricSupport.java 95.6% <100%> (+6.54%) 18 <2> (+6) ⬆️
.../armeria/client/metric/MetricCollectingClient.java 100% <100%> (ø) 4 <1> (ø) ⬇️
...p/armeria/server/DefaultServiceRequestContext.java 84.37% <100%> (+0.16%) 62 <1> (+1) ⬆️
...om/linecorp/armeria/client/HttpSessionHandler.java 60.34% <0%> (-12.07%) 28% <0%> (-5%)
...a/com/linecorp/armeria/common/util/Exceptions.java 36.52% <0%> (-2.61%) 23% <0%> (-2%)
.../linecorp/armeria/client/Http1ResponseDecoder.java 58.18% <0%> (-1.82%) 22% <0%> (-1%)
... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 712da71...94e54b5. Read the comment docs.

@trustin trustin removed the request for review from hyangtack February 14, 2019 02:51
@trustin trustin merged commit ff46158 into line:master Feb 14, 2019
@trustin
Copy link
Member

trustin commented Feb 14, 2019

Thanks, @minwoox !

fmguerreiro pushed a commit to fmguerreiro/armeria that referenced this pull request Sep 19, 2020
Motivation:
It would be nice if we provide request timeout metrics by default.

Modifications:
- Add counters
  - `timeouts{cause=RequestTimeoutException}` (server-side)
  - `timeouts{cause=WriteTimeoutException}` (client-side)
  - `timeouts{cause=ResponseTimeoutException}` (client-side)
- Add `ServiceRequestContext.isTimedOut()`
  - Deprecate `RequestContext.isTimedOut()`

Result:
- More metrics
- Close line#1580
@minwoox minwoox deleted the add_timeout_metrics branch March 29, 2023 01:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants