Open romain-grecourt opened 2 years ago
As written, the metrics code uses response#whenSent
to trigger updates to metrics that must occur after a request has been fully processes. This includes extended key performance indicator metrics and, importantly to this issue, the optional MP REST request metrics.
What can happen--and does when this test intermittently fails--is that the response reaches the test client and the test client resumes its work before the asynchronous response#whenSent
work finishes. The test client retrieves the not-yet-updated metrics data and, finding an unexpected value, fails.
Because the test is in the MP metrics TCK we have no control over it. We cannot introduce a delay or retries.
Because only MP (not SE) supports the REST request metrics, we could change the implementation so that the REST request metrics are updated in a Jakarta RESTful Web Service container response filter instead of in the response#whenSent
code path. The filter would be guaranteed to run--and update the metrics--before the response reaches the client. The race condition exposed by the test failure could never occur.
ServerResponse#beforeSent
methodThe current whenSent
returns a Single<ServerResponse>
that can fire after the response has reached the client. A hypothetical beforeSent
method could allow the caller to intervene before the response leaves the server. Our metrics code could use such an enhancement to make sure it updates response-dependent metrics before clients receive responses.
After a quick chat with Tomas, it looks as if adding beforeSent
is not a practical option.
Further, he correctly points out that using a Jakarta RESTful web services filter to update metrics would be certain to run before the response reaches the client, but might undercount the time taken to truly process the request, especially for a response with a large payload.
Another possibility would be to omit the optional metrics TCK tests from the pipeline and instead run them in a separate periodic job. If this intermittent failure is frequent enough that might be something to think about.
Additional failure (of a different metrics TCK test)
Error: Tests run: 213, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 477.992 s <<< FAILURE! - in TestSuite
[21546](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21547)
Error: org.eclipse.microprofile.metrics.test.optional.MpMetricOptionalTest.testSimpleRESTGetExplicit on testSimpleRESTGetExplicit(org.eclipse.microprofile.metrics.test.optional.MpMetricOptionalTest) Time elapsed: 0.073 s <<< FAILURE!
[21547](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21548)
java.lang.AssertionError:
[21548](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21549)
1 expectation failed.
[21549](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21550)
Response body doesn't match expectation.
[21550](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21551)
Expected: a string containing "base_REST_request_total{class=\"org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional\",method=\"getNoParam\",tier=\"integration\"} 2"
[21551](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21552)
Actual: # TYPE base_REST_request_total counter
[21552](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21553)
# HELP base_REST_request_total The number of invocations and total response time of this RESTful resource method since the start of the server. The metric will not record the elapsed time nor count of a REST request if it resulted in an unmapped exception. Also tracks the highest recorded time duration within the previous completed full minute and lowest recorded time duration within the previous completed full minute.
[21553](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21554)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMappedArithException",tier="integration"} 0
[21554](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21555)
# TYPE base_REST_request_elapsedTime_seconds gauge
[21555](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21556)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMappedArithException",tier="integration"} 0
[21556](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21557)
# TYPE base_REST_request_maxTimeDuration_seconds gauge
[21557](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21558)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMappedArithException",tier="integration"} NaN
[21558](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21559)
# TYPE base_REST_request_minTimeDuration_seconds gauge
[21559](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21560)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMappedArithException",tier="integration"} NaN
[21560](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21561)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleIntParam_int",tier="integration"} 0
[21561](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21562)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleIntParam_int",tier="integration"} 0
[21562](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21563)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleIntParam_int",tier="integration"} NaN
[21563](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21564)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleIntParam_int",tier="integration"} NaN
[21564](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21565)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleLongParam_long",tier="integration"} 0
[21565](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21566)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleLongParam_long",tier="integration"} 0
[21566](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21567)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleLongParam_long",tier="integration"} NaN
[21567](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21568)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleLongParam_long",tier="integration"} NaN
[21568](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21569)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} 0
[21569](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21570)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} 0
[21570](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21571)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} NaN
[21571](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21572)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} NaN
[21572](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21573)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleDoubleParam_double",tier="integration"} 0
[21573](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21574)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleDoubleParam_double",tier="integration"} 0
[21574](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21575)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleDoubleParam_double",tier="integration"} NaN
[21575](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21576)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleDoubleParam_double",tier="integration"} NaN
[21576](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21577)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getUnmappedArithException",tier="integration"} 0
[21577](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21578)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getUnmappedArithException",tier="integration"} 0
[21578](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21579)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getUnmappedArithException",tier="integration"} NaN
[21579](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21580)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getUnmappedArithException",tier="integration"} NaN
[21580](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21581)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} 0
[21581](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21582)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} 0
[21582](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21583)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} NaN
[21583](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21584)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} NaN
[21584](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21585)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMappedArithException",tier="integration"} 0
[21585](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21586)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMappedArithException",tier="integration"} 0
[21586](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21587)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMappedArithException",tier="integration"} NaN
[21587](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21588)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMappedArithException",tier="integration"} NaN
[21588](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21589)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam2_java.lang.String_java.util.List",tier="integration"} 0
[21589](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21590)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam2_java.lang.String_java.util.List",tier="integration"} 0
[21590](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21591)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam2_java.lang.String_java.util.List",tier="integration"} NaN
[21591](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21592)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getMultipleParam2_java.lang.String_java.util.List",tier="integration"} NaN
[21592](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21593)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="optionsNoParam",tier="integration"} 0
[21593](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21594)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="optionsNoParam",tier="integration"} 0
[21594](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21595)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="optionsNoParam",tier="integration"} NaN
[21595](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21596)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="optionsNoParam",tier="integration"} NaN
[21596](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21597)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postNoParam",tier="integration"} 0
[21597](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21598)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postNoParam",tier="integration"} 0
[21598](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21599)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postNoParam",tier="integration"} NaN
[21599](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21600)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postNoParam",tier="integration"} NaN
[21600](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21601)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getContextParams_jakarta.ws.rs.core.HttpHeaders_jakarta.ws.rs.core.Request_jakarta.ws.rs.core.UriInfo_jakarta.ws.rs.container.ResourceContext_jakarta.ws.rs.ext.Providers_jakarta.ws.rs.core.Application_jakarta.ws.rs.core.SecurityContext_jakarta.ws.rs.core.Configuration",tier="integration"} 0
[21601](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21602)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getContextParams_jakarta.ws.rs.core.HttpHeaders_jakarta.ws.rs.core.Request_jakarta.ws.rs.core.UriInfo_jakarta.ws.rs.container.ResourceContext_jakarta.ws.rs.ext.Providers_jakarta.ws.rs.core.Application_jakarta.ws.rs.core.SecurityContext_jakarta.ws.rs.core.Configuration",tier="integration"} 0
[21602](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21603)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getContextParams_jakarta.ws.rs.core.HttpHeaders_jakarta.ws.rs.core.Request_jakarta.ws.rs.core.UriInfo_jakarta.ws.rs.container.ResourceContext_jakarta.ws.rs.ext.Providers_jakarta.ws.rs.core.Application_jakarta.ws.rs.core.SecurityContext_jakarta.ws.rs.core.Configuration",tier="integration"} NaN
[21603](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21604)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getContextParams_jakarta.ws.rs.core.HttpHeaders_jakarta.ws.rs.core.Request_jakarta.ws.rs.core.UriInfo_jakarta.ws.rs.container.ResourceContext_jakarta.ws.rs.ext.Providers_jakarta.ws.rs.core.Application_jakarta.ws.rs.core.SecurityContext_jakarta.ws.rs.core.Configuration",tier="integration"} NaN
[21604](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21605)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="deleteNoParam",tier="integration"} 0
[21605](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21606)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="deleteNoParam",tier="integration"} 0
[21606](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21607)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="deleteNoParam",tier="integration"} NaN
[21607](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21608)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="deleteNoParam",tier="integration"} NaN
[21608](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21609)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="putNoParam",tier="integration"} 0
[21609](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21610)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="putNoParam",tier="integration"} 0
[21610](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21611)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="putNoParam",tier="integration"} NaN
[21611](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21612)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="putNoParam",tier="integration"} NaN
[21612](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21613)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNoParam",tier="integration"} 1
[21613](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21614)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNoParam",tier="integration"} 0
[21614](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21615)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNoParam",tier="integration"} NaN
[21615](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21616)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNoParam",tier="integration"} NaN
[21616](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21617)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam1_java.util.List",tier="integration"} 0
[21617](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21618)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam1_java.util.List",tier="integration"} 0
[21618](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21619)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam1_java.util.List",tier="integration"} NaN
[21619](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21620)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam1_java.util.List",tier="integration"} NaN
[21620](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21621)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam2_java.util.List",tier="integration"} 0
[21621](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21622)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam2_java.util.List",tier="integration"} 0
[21622](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21623)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam2_java.util.List",tier="integration"} NaN
[21623](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21624)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam2_java.util.List",tier="integration"} NaN
[21624](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21625)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam3_java.util.List_java.util.List",tier="integration"} 0
[21625](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21626)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam3_java.util.List_java.util.List",tier="integration"} 0
[21626](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21627)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam3_java.util.List_java.util.List",tier="integration"} NaN
[21627](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21628)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getListParam3_java.util.List_java.util.List",tier="integration"} NaN
[21628](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21629)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getAsync_jakarta.ws.rs.container.AsyncResponse",tier="integration"} 0
[21629](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21630)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getAsync_jakarta.ws.rs.container.AsyncResponse",tier="integration"} 0
[21630](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21631)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getAsync_jakarta.ws.rs.container.AsyncResponse",tier="integration"} NaN
[21631](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21632)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getAsync_jakarta.ws.rs.container.AsyncResponse",tier="integration"} NaN
[21632](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21633)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleStringParam_java.lang.String",tier="integration"} 0
[21633](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21634)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleStringParam_java.lang.String",tier="integration"} 0
[21634](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21635)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleStringParam_java.lang.String",tier="integration"} NaN
[21635](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21636)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleStringParam_java.lang.String",tier="integration"} NaN
[21636](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21637)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postUnmappedArithException",tier="integration"} 0
[21637](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21638)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postUnmappedArithException",tier="integration"} 0
[21638](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21639)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postUnmappedArithException",tier="integration"} NaN
[21639](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21640)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postUnmappedArithException",tier="integration"} NaN
[21640](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21641)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="headNoParam",tier="integration"} 0
[21641](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21642)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="headNoParam",tier="integration"} 0
[21642](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21643)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="headNoParam",tier="integration"} NaN
[21643](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21644)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="headNoParam",tier="integration"} NaN
[21644](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21645)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNameObject_org.eclipse.microprofile.metrics.test.optional.NameObject",tier="integration"} 0
[21645](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21646)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNameObject_org.eclipse.microprofile.metrics.test.optional.NameObject",tier="integration"} 0
[21646](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21647)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNameObject_org.eclipse.microprofile.metrics.test.optional.NameObject",tier="integration"} NaN
[21647](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21648)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getNameObject_org.eclipse.microprofile.metrics.test.optional.NameObject",tier="integration"} NaN
[21648](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21649)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} 0
[21649](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21650)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} 0
[21650](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21651)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} NaN
[21651](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21652)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam1_boolean_int_double_java.lang.String_long",tier="integration"} NaN
[21652](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21653)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam2_java.lang.String_java.util.List",tier="integration"} 0
[21653](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21654)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam2_java.lang.String_java.util.List",tier="integration"} 0
[21654](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21655)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam2_java.lang.String_java.util.List",tier="integration"} NaN
[21655](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21656)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam2_java.lang.String_java.util.List",tier="integration"} NaN
[21656](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21657)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} 0
[21657](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21658)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} 0
[21658](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21659)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} NaN
[21659](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21660)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="postMultipleParam4_java.util.Set_java.util.SortedSet",tier="integration"} NaN
[21660](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21661)
base_REST_request_total{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleBooleanParam_boolean",tier="integration"} 0
[21661](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21662)
base_REST_request_elapsedTime_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleBooleanParam_boolean",tier="integration"} 0
[21662](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21663)
base_REST_request_maxTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleBooleanParam_boolean",tier="integration"} NaN
[21663](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21664)
base_REST_request_minTimeDuration_seconds{class="org.eclipse.microprofile.metrics.test.optional.MetricAppBeanOptional",method="getSingleBooleanParam_boolean",tier="integration"} NaN
[21664](https://github.com/helidon-io/helidon/actions/runs/3689421918/jobs/6245344726#step:4:21665)
org.eclipse.microprofile.metrics.test.optional.MpMetricOptionalTest.testGetMappedArithException