Skip to content

Commit c26909b

Browse files
committed
Fix ChatCompletionServiceTest
1 parent ec29979 commit c26909b

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

dd-java-agent/instrumentation/openai-java/openai-java-1.0/src/test/groovy/ChatCompletionServiceTest.groovy

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
2323
expect:
2424
resp != null
2525
and:
26-
assertChatCompletionTrace()
26+
assertChatCompletionTrace(false)
2727
}
2828

2929
def "create chat/completion test withRawResponse"() {
@@ -35,7 +35,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
3535
resp.statusCode() == 200
3636
resp.parse().valid // force response parsing, so it sets all the tags
3737
and:
38-
assertChatCompletionTrace()
38+
assertChatCompletionTrace(false)
3939
}
4040

4141
def "create streaming chat/completion test"() {
@@ -49,7 +49,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
4949
}
5050

5151
expect:
52-
assertChatCompletionTrace()
52+
assertChatCompletionTrace(true)
5353
}
5454

5555
def "create streaming chat/completion test withRawResponse"() {
@@ -63,7 +63,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
6363
}
6464

6565
expect:
66-
assertChatCompletionTrace()
66+
assertChatCompletionTrace(true)
6767
}
6868

6969
def "create async chat/completion test"() {
@@ -74,7 +74,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
7474
completionFuture.get()
7575

7676
expect:
77-
assertChatCompletionTrace()
77+
assertChatCompletionTrace(false)
7878
}
7979

8080
def "create async chat/completion test withRawResponse"() {
@@ -86,7 +86,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
8686
resp.parse().valid // force response parsing, so it sets all the tags
8787

8888
expect:
89-
assertChatCompletionTrace()
89+
assertChatCompletionTrace(false)
9090
}
9191

9292
def "create streaming async chat/completion test"() {
@@ -98,7 +98,7 @@ class ChatCompletionServiceTest extends OpenAiTest {
9898
}
9999
asyncResp.onCompleteFuture().get()
100100
expect:
101-
assertChatCompletionTrace()
101+
assertChatCompletionTrace(true)
102102
}
103103

104104
def "create streaming async chat/completion test withRawResponse"() {
@@ -113,10 +113,10 @@ class ChatCompletionServiceTest extends OpenAiTest {
113113
}
114114
expect:
115115
resp.statusCode() == 200
116-
assertChatCompletionTrace()
116+
assertChatCompletionTrace(true)
117117
}
118118

119-
private void assertChatCompletionTrace() {
119+
private void assertChatCompletionTrace(boolean isStreaming) {
120120
assertTraces(1) {
121121
trace(3) {
122122
sortSpansByStart()
@@ -133,6 +133,17 @@ class ChatCompletionServiceTest extends OpenAiTest {
133133
spanType DDSpanTypes.LLMOBS
134134
tags {
135135
"_ml_obs_tag.span.kind" "llm"
136+
"_ml_obs_tag.model_provider" "openai"
137+
"_ml_obs_tag.model_name" String
138+
"_ml_obs_tag.metadata" Map
139+
"_ml_obs_tag.input" List
140+
"_ml_obs_tag.output" List
141+
if (!isStreaming) {
142+
// streamed completions missing usage data
143+
"_ml_obs_metric.input_tokens" Long
144+
"_ml_obs_metric.output_tokens" Long
145+
"_ml_obs_metric.total_tokens" Long
146+
}
136147
"_ml_obs_tag.parent_id" "undefined"
137148
"openai.request.method" "POST"
138149
"openai.request.endpoint" "v1/chat/completions"

0 commit comments

Comments
 (0)