diff --git a/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java b/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java index 15e207428f2..643f001e0f7 100644 --- a/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java +++ b/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java @@ -53,6 +53,7 @@ public EvalProcessingWorker( Headers headers; HttpUrl submissionUrl; + OkHttpClient httpClient; if (isAgentless) { submissionUrl = HttpUrl.get( @@ -63,6 +64,7 @@ public EvalProcessingWorker( + "/" + EVAL_METRIC_API_PATH); headers = Headers.of(DD_API_KEY_HEADER_NAME, config.getApiKey()); + httpClient = sco.getIntakeHttpClient(); } else { submissionUrl = HttpUrl.get( @@ -70,10 +72,14 @@ public EvalProcessingWorker( + DDAgentFeaturesDiscovery.V2_EVP_PROXY_ENDPOINT + EVAL_METRIC_API_PATH); headers = Headers.of(EVP_SUBDOMAIN_HEADER_NAME, EVAL_METRIC_API_DOMAIN); + // For a UDS or named pipe Agent, `agentUrl` is only a placeholder and the socket transport + // lives on the shared client, so a client of our own would never reach the Agent. + httpClient = sco.agentHttpClient; } EvalSerializingHandler serializingHandler = - new EvalSerializingHandler(queue, flushInterval, timeUnit, submissionUrl, headers); + new EvalSerializingHandler( + queue, flushInterval, timeUnit, submissionUrl, headers, httpClient); this.serializerThread = newAgentThread(LLMOBS_EVALS_PROCESSOR, serializingHandler); } @@ -116,12 +122,13 @@ public EvalSerializingHandler( final long flushInterval, final TimeUnit timeUnit, final HttpUrl submissionUrl, - final Headers headers) { + final Headers headers, + final OkHttpClient httpClient) { this.queue = queue; this.moshi = new Moshi.Builder().add(LLMObsEval.class, new LLMObsEval.Adapter()).build(); this.evalJsonAdapter = moshi.adapter(LLMObsEval.Request.class); - this.httpClient = new OkHttpClient(); + this.httpClient = httpClient; this.submissionUrl = submissionUrl; this.headers = headers;