Skip to content

Commit cbd6226

Browse files
committed
llmobs: set model tag even when llmobs disabled
1 parent 16f3647 commit cbd6226

4 files changed

Lines changed: 44 additions & 43 deletions

File tree

dd-java-agent/instrumentation/openai-java/openai-java-3.0/src/main/java/datadog/trace/instrumentation/openai_java/ChatCompletionDecorator.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ public void withChatCompletionCreateParams(
3131
AgentSpan span, ChatCompletionCreateParams params, boolean stream) {
3232
span.setResourceName(CHAT_COMPLETIONS_CREATE);
3333
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/chat/completions");
34-
if (!llmObsEnabled) {
35-
return;
36-
}
37-
38-
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
3934
if (params == null) {
4035
return;
4136
}
@@ -45,6 +40,12 @@ public void withChatCompletionCreateParams(
4540
.asString()
4641
.ifPresent(str -> span.setTag(CommonTags.OPENAI_REQUEST_MODEL, str));
4742

43+
if (!llmObsEnabled) {
44+
return;
45+
}
46+
47+
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
48+
4849
span.setTag(
4950
CommonTags.INPUT,
5051
params.messages().stream()
@@ -97,13 +98,14 @@ private static LLMObs.LLMMessage llmMessage(ChatCompletionMessageParam m) {
9798
}
9899

99100
public void withChatCompletion(AgentSpan span, ChatCompletion completion) {
100-
if (!llmObsEnabled) {
101-
return;
102-
}
103101
String modelName = completion.model();
104102
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
105103
span.setTag(CommonTags.MODEL_NAME, modelName);
106104

105+
if (!llmObsEnabled) {
106+
return;
107+
}
108+
107109
List<LLMObs.LLMMessage> output =
108110
completion.choices().stream()
109111
.map(ChatCompletionDecorator::llmMessage)

dd-java-agent/instrumentation/openai-java/openai-java-3.0/src/main/java/datadog/trace/instrumentation/openai_java/CompletionDecorator.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ public class CompletionDecorator {
2323
public void withCompletionCreateParams(AgentSpan span, CompletionCreateParams params) {
2424
span.setResourceName(COMPLETIONS_CREATE);
2525
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/completions");
26-
if (!llmObsEnabled) {
27-
return;
28-
}
29-
30-
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
3126
if (params == null) {
3227
return;
3328
}
@@ -37,6 +32,12 @@ public void withCompletionCreateParams(AgentSpan span, CompletionCreateParams pa
3732
._value()
3833
.asString()
3934
.ifPresent(str -> span.setTag(CommonTags.OPENAI_REQUEST_MODEL, str));
35+
36+
if (!llmObsEnabled) {
37+
return;
38+
}
39+
40+
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
4041
params
4142
.prompt()
4243
.flatMap(p -> p.string())
@@ -61,14 +62,14 @@ public void withCompletionCreateParams(AgentSpan span, CompletionCreateParams pa
6162
}
6263

6364
public void withCompletion(AgentSpan span, Completion completion) {
64-
if (!llmObsEnabled) {
65-
return;
66-
}
67-
6865
String modelName = completion.model();
6966
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
7067
span.setTag(CommonTags.MODEL_NAME, modelName);
7168

69+
if (!llmObsEnabled) {
70+
return;
71+
}
72+
7273
List<LLMObs.LLMMessage> output =
7374
completion.choices().stream()
7475
.map(v -> LLMObs.LLMMessage.from(null, v.text()))
@@ -86,10 +87,6 @@ public void withCompletion(AgentSpan span, Completion completion) {
8687
}
8788

8889
public void withCompletions(AgentSpan span, List<Completion> completions) {
89-
if (!llmObsEnabled) {
90-
return;
91-
}
92-
9390
if (completions.isEmpty()) {
9491
return;
9592
}
@@ -99,6 +96,10 @@ public void withCompletions(AgentSpan span, List<Completion> completions) {
9996
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
10097
span.setTag(CommonTags.MODEL_NAME, modelName);
10198

99+
if (!llmObsEnabled) {
100+
return;
101+
}
102+
102103
Map<Long, StringBuilder> textByChoiceIndex = new HashMap<>();
103104
for (Completion completion : completions) {
104105
completion

dd-java-agent/instrumentation/openai-java/openai-java-3.0/src/main/java/datadog/trace/instrumentation/openai_java/EmbeddingDecorator.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ public class EmbeddingDecorator {
2525
public void withEmbeddingCreateParams(AgentSpan span, EmbeddingCreateParams params) {
2626
span.setResourceName(EMBEDDINGS_CREATE);
2727
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/embeddings");
28-
if (!llmObsEnabled) {
29-
return;
30-
}
31-
32-
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_EMBEDDING_SPAN_KIND);
3328
if (params == null) {
3429
return;
3530
}
@@ -39,6 +34,12 @@ public void withEmbeddingCreateParams(AgentSpan span, EmbeddingCreateParams para
3934
.asString()
4035
.ifPresent(str -> span.setTag(CommonTags.OPENAI_REQUEST_MODEL, str));
4136

37+
if (!llmObsEnabled) {
38+
return;
39+
}
40+
41+
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_EMBEDDING_SPAN_KIND);
42+
4243
span.setTag(CommonTags.INPUT, embeddingDocuments(params.input()));
4344

4445
Map<String, Object> metadata = new HashMap<>();
@@ -59,14 +60,14 @@ private List<LLMObs.Document> embeddingDocuments(EmbeddingCreateParams.Input inp
5960
}
6061

6162
public void withCreateEmbeddingResponse(AgentSpan span, CreateEmbeddingResponse response) {
62-
if (!llmObsEnabled) {
63-
return;
64-
}
65-
6663
String modelName = response.model();
6764
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
6865
span.setTag(CommonTags.MODEL_NAME, modelName);
6966

67+
if (!llmObsEnabled) {
68+
return;
69+
}
70+
7071
if (!response.data().isEmpty()) {
7172
int embeddingCount = response.data().size();
7273
Embedding firstEmbedding = response.data().get(0);

dd-java-agent/instrumentation/openai-java/openai-java-3.0/src/main/java/datadog/trace/instrumentation/openai_java/ResponseDecorator.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,6 @@ public class ResponseDecorator {
3737
public void withResponseCreateParams(AgentSpan span, ResponseCreateParams params) {
3838
span.setResourceName(RESPONSES_CREATE);
3939
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/responses");
40-
if (!llmObsEnabled) {
41-
return;
42-
}
43-
44-
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
4540
if (params == null) {
4641
return;
4742
}
@@ -51,6 +46,12 @@ public void withResponseCreateParams(AgentSpan span, ResponseCreateParams params
5146
String modelName = extractResponseModel(params._model());
5247
span.setTag(CommonTags.OPENAI_REQUEST_MODEL, modelName);
5348

49+
if (!llmObsEnabled) {
50+
return;
51+
}
52+
53+
span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
54+
5455
List<LLMObs.LLMMessage> inputMessages = new ArrayList<>();
5556

5657
params
@@ -369,10 +370,6 @@ public void withResponse(AgentSpan span, Response response) {
369370
}
370371

371372
public void withResponseStreamEvents(AgentSpan span, List<ResponseStreamEvent> events) {
372-
if (!llmObsEnabled) {
373-
return;
374-
}
375-
376373
for (ResponseStreamEvent event : events) {
377374
if (event.isCompleted()) {
378375
Response response = event.asCompleted().response();
@@ -388,14 +385,14 @@ public void withResponseStreamEvents(AgentSpan span, List<ResponseStreamEvent> e
388385
}
389386

390387
private void withResponse(AgentSpan span, Response response, boolean stream) {
391-
if (!llmObsEnabled) {
392-
return;
393-
}
394-
395388
String modelName = extractResponseModel(response._model());
396389
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
397390
span.setTag(CommonTags.MODEL_NAME, modelName);
398391

392+
if (!llmObsEnabled) {
393+
return;
394+
}
395+
399396
List<LLMObs.LLMMessage> outputMessages = extractResponseOutputMessages(response.output());
400397
if (!outputMessages.isEmpty()) {
401398
span.setTag(CommonTags.OUTPUT, outputMessages);

0 commit comments

Comments
 (0)