Skip to content

Commit 5fc9bfd

Browse files
committed
Add labels also to inference request count metric
1 parent 02de5c3 commit 5fc9bfd

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/action/BaseTransportInferenceAction.java

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ protected void doExecute(Task task, Request request, ActionListener<InferenceAct
142142
try {
143143
validateRequest(request, unparsedModel);
144144
} catch (Exception e) {
145-
recordMetrics(unparsedModel, timer, e);
145+
recordRequestDurationMetrics(unparsedModel, timer, e);
146146
listener.onFailure(e);
147147
return;
148148
}
@@ -261,7 +261,7 @@ public InferenceAction.Response read(StreamInput in) throws IOException {
261261
);
262262
}
263263

264-
private void recordMetrics(UnparsedModel model, InferenceTimer timer, @Nullable Throwable t) {
264+
private void recordRequestDurationMetrics(UnparsedModel model, InferenceTimer timer, @Nullable Throwable t) {
265265
try {
266266
Map<String, Object> metricAttributes = new HashMap<>();
267267
metricAttributes.putAll(modelAttributes(model));
@@ -281,7 +281,7 @@ private void inferOnServiceWithMetrics(
281281
String localNodeId,
282282
ActionListener<InferenceAction.Response> listener
283283
) {
284-
inferenceStats.requestCount().incrementBy(1, modelAttributes(model));
284+
recordRequestCountMetrics(model, request, localNodeId);
285285
inferOnService(model, request, service, ActionListener.wrap(inferenceResults -> {
286286
if (request.isStreaming()) {
287287
var taskProcessor = streamingTaskManager.<ChunkedToXContent>create(STREAMING_INFERENCE_TASK_TYPE, STREAMING_TASK_ACTION);
@@ -294,11 +294,11 @@ private void inferOnServiceWithMetrics(
294294

295295
listener.onResponse(new InferenceAction.Response(inferenceResults, streamErrorHandler));
296296
} else {
297-
recordMetrics(model, timer, request, localNodeId, null);
297+
recordRequestDurationMetrics(model, timer, request, localNodeId, null);
298298
listener.onResponse(new InferenceAction.Response(inferenceResults));
299299
}
300300
}, e -> {
301-
recordMetrics(model, timer, request, localNodeId, e);
301+
recordRequestDurationMetrics(model, timer, request, localNodeId, e);
302302
listener.onFailure(e);
303303
}));
304304
}
@@ -307,7 +307,21 @@ protected Flow.Publisher<ChunkedToXContent> streamErrorHandler(Flow.Processor<Ch
307307
return upstream;
308308
}
309309

310-
private void recordMetrics(Model model, InferenceTimer timer, Request request, String localNodeId, @Nullable Throwable t) {
310+
private void recordRequestCountMetrics(Model model, Request request, String localNodeId) {
311+
Map<String, Object> requestCountAttributes = new HashMap<>();
312+
requestCountAttributes.putAll(modelAttributes(model));
313+
requestCountAttributes.putAll(routingAttributes(request, localNodeId));
314+
315+
inferenceStats.requestCount().incrementBy(1, requestCountAttributes);
316+
}
317+
318+
private void recordRequestDurationMetrics(
319+
Model model,
320+
InferenceTimer timer,
321+
Request request,
322+
String localNodeId,
323+
@Nullable Throwable t
324+
) {
311325
try {
312326
Map<String, Object> metricAttributes = new HashMap<>();
313327
metricAttributes.putAll(modelAttributes(model));
@@ -383,19 +397,19 @@ protected void next(ChunkedToXContent item) {
383397

384398
@Override
385399
public void onError(Throwable throwable) {
386-
recordMetrics(model, timer, request, localNodeId, throwable);
400+
recordRequestDurationMetrics(model, timer, request, localNodeId, throwable);
387401
super.onError(throwable);
388402
}
389403

390404
@Override
391405
protected void onCancel() {
392-
recordMetrics(model, timer, request, localNodeId, null);
406+
recordRequestDurationMetrics(model, timer, request, localNodeId, null);
393407
super.onCancel();
394408
}
395409

396410
@Override
397411
public void onComplete() {
398-
recordMetrics(model, timer, request, localNodeId, null);
412+
recordRequestDurationMetrics(model, timer, request, localNodeId, null);
399413
super.onComplete();
400414
}
401415
}

0 commit comments

Comments
 (0)