Skip to content

Commit 9b5503a

Browse files
committed
Clean up trace
1 parent fcfbfd3 commit 9b5503a

File tree

3 files changed

+14
-24
lines changed

3 files changed

+14
-24
lines changed

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/request/elastic/ElasticInferenceServiceSparseEmbeddingsRequest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@
1616
import org.elasticsearch.xpack.inference.common.Truncator;
1717
import org.elasticsearch.xpack.inference.external.request.HttpRequest;
1818
import org.elasticsearch.xpack.inference.external.request.Request;
19-
import org.elasticsearch.xpack.inference.external.request.TraceContextPropagator;
2019
import org.elasticsearch.xpack.inference.services.elastic.ElasticInferenceServiceSparseEmbeddingsModel;
2120
import org.elasticsearch.xpack.inference.telemetry.TraceContext;
21+
import org.elasticsearch.xpack.inference.telemetry.TraceContextAware;
2222

2323
import java.net.URI;
2424
import java.nio.charset.StandardCharsets;
2525
import java.util.Objects;
2626

27-
public class ElasticInferenceServiceSparseEmbeddingsRequest implements ElasticInferenceServiceRequest {
27+
public class ElasticInferenceServiceSparseEmbeddingsRequest
28+
implements ElasticInferenceServiceRequest, TraceContextAware {
2829

2930
private final URI uri;
3031

@@ -56,7 +57,7 @@ public HttpRequest createHttpRequest() {
5657
ByteArrayEntity byteEntity = new ByteArrayEntity(requestEntity.getBytes(StandardCharsets.UTF_8));
5758
httpPost.setEntity(byteEntity);
5859

59-
TraceContextPropagator.propagateTraceContext(httpPost, traceContext);
60+
propagateTraceContext(httpPost);
6061

6162
httpPost.setHeader(new BasicHeader(HttpHeaders.CONTENT_TYPE, XContentType.JSON.mediaType()));
6263

@@ -73,6 +74,7 @@ public URI getURI() {
7374
return this.uri;
7475
}
7576

77+
@Override
7678
public TraceContext getTraceContext() {
7779
return traceContext;
7880
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/request/elastic/ElasticInferenceServiceUnifiedChatCompletionRequest.java

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,21 @@
1212
import org.apache.http.entity.ByteArrayEntity;
1313
import org.apache.http.message.BasicHeader;
1414
import org.elasticsearch.common.Strings;
15-
import org.elasticsearch.tasks.Task;
1615
import org.elasticsearch.xcontent.XContentType;
1716
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
1817
import org.elasticsearch.xpack.inference.external.request.HttpRequest;
1918
import org.elasticsearch.xpack.inference.external.request.Request;
2019
import org.elasticsearch.xpack.inference.external.request.openai.OpenAiRequest;
2120
import org.elasticsearch.xpack.inference.services.elastic.completion.ElasticInferenceServiceCompletionModel;
2221
import org.elasticsearch.xpack.inference.telemetry.TraceContext;
22+
import org.elasticsearch.xpack.inference.telemetry.TraceContextAware;
2323

2424
import java.net.URI;
2525
import java.nio.charset.StandardCharsets;
2626
import java.util.Objects;
2727

28-
public class ElasticInferenceServiceUnifiedChatCompletionRequest implements OpenAiRequest {
28+
public class ElasticInferenceServiceUnifiedChatCompletionRequest
29+
implements OpenAiRequest, TraceContextAware {
2930

3031
// Implementing OpenAiRequest to ensure compatibility with the OpenAI API interface
3132
// This allows the ElasticInferenceService to handle requests in a standardized manner
@@ -94,20 +95,8 @@ public boolean isStreaming() {
9495
return true;
9596
}
9697

98+
@Override
9799
public TraceContext getTraceContext() {
98100
return traceContext;
99101
}
100-
101-
private void propagateTraceContext(HttpPost httpPost) {
102-
var traceParent = traceContext.traceParent();
103-
var traceState = traceContext.traceState();
104-
105-
if (traceParent != null) {
106-
httpPost.setHeader(Task.TRACE_PARENT_HTTP_HEADER, traceParent);
107-
}
108-
109-
if (traceState != null) {
110-
httpPost.setHeader(Task.TRACE_STATE, traceState);
111-
}
112-
}
113102
}
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@
44
* 2.0; you may not use this file except in compliance with the Elastic License
55
* 2.0.
66
*/
7-
8-
package org.elasticsearch.xpack.inference.external.request;
7+
package org.elasticsearch.xpack.inference.telemetry;
98

109
import org.apache.http.client.methods.HttpPost;
1110
import org.elasticsearch.tasks.Task;
12-
import org.elasticsearch.xpack.inference.telemetry.TraceContext;
1311

14-
public final class TraceContextPropagator {
15-
private TraceContextPropagator() {} // Utility class
12+
public interface TraceContextAware {
13+
TraceContext getTraceContext();
1614

17-
public static void propagateTraceContext(HttpPost httpPost, TraceContext traceContext) {
15+
default void propagateTraceContext(HttpPost httpPost) {
16+
TraceContext traceContext = this.getTraceContext();
1817
if (traceContext == null) {
1918
return;
2019
}

0 commit comments

Comments
 (0)