This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/spark-kubernetes-operator.git
The following commit(s) were added to refs/heads/main by this push:
new bb46c2f [SPARK-53664] Update `updateResponseMetrics` to handle valid
responses only
bb46c2f is described below
commit bb46c2fe0bc3af392900f106fbf281bdeab2a0cc
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Mon Sep 22 12:37:37 2025 -0700
[SPARK-53664] Update `updateResponseMetrics` to handle valid responses only
### What changes were proposed in this pull request?
This PR aims to make `updateResponseMetrics` to handle valid responses only.
### Why are the changes needed?
To simplify the method logic.
### Does this PR introduce _any_ user-facing change?
No behavior change.
### How was this patch tested?
Pass the CIs.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #331 from dongjoon-hyun/SPARK-53664.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.../metrics/source/KubernetesMetricsInterceptor.java | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git
a/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
b/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
index 83b01ed..25c54d1 100644
---
a/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
+++
b/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
@@ -129,7 +130,7 @@ public class KubernetesMetricsInterceptor implements
Interceptor, Source {
@Override
public CompletableFuture<Boolean> afterFailure(
BasicBuilder builder, HttpResponse<?> response, RequestTags tags) {
- updateResponseMetrics(null, System.nanoTime());
+ requestFailedRateMeter.mark();
return CompletableFuture.completedFuture(false);
}
@@ -143,7 +144,7 @@ public class KubernetesMetricsInterceptor implements
Interceptor, Source {
*/
@Override
public void afterConnectionFailure(HttpRequest request, Throwable failure) {
- updateResponseMetrics(null, System.nanoTime());
+ requestFailedRateMeter.mark();
}
/**
@@ -181,16 +182,13 @@ public class KubernetesMetricsInterceptor implements
Interceptor, Source {
}
private void updateResponseMetrics(HttpResponse response, long
startTimeNanos) {
+ Objects.requireNonNull(response);
final long latency = System.nanoTime() - startTimeNanos;
- if (response != null) {
- this.responseRateMeter.mark();
- this.responseLatency.update(latency);
- getMeterByResponseCode(response.code()).mark();
- if
(KUBERNETES_CLIENT_METRICS_GROUP_BY_RESPONSE_CODE_GROUP_ENABLED.getValue()) {
- responseCodeGroupMeters.get(response.code() / 100 - 1).mark();
- }
- } else {
- this.requestFailedRateMeter.mark();
+ responseRateMeter.mark();
+ responseLatency.update(latency);
+ getMeterByResponseCode(response.code()).mark();
+ if
(KUBERNETES_CLIENT_METRICS_GROUP_BY_RESPONSE_CODE_GROUP_ENABLED.getValue()) {
+ responseCodeGroupMeters.get(response.code() / 100 - 1).mark();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]