Skip to content

Commit 55423a0

Browse files
committed
extract startSpan
1 parent 0f0b0a1 commit 55423a0

File tree

8 files changed

+20
-42
lines changed

8 files changed

+20
-42
lines changed

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

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
65
import static datadog.trace.instrumentation.openai_java.OpenAiDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -53,9 +52,7 @@ public static class CreateAdvice {
5352
public static AgentScope enter(
5453
@Advice.Argument(0) final ChatCompletionCreateParams params,
5554
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
56-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
57-
DECORATE.afterStart(span);
58-
DECORATE.withClientOptions(span, clientOptions);
55+
AgentSpan span = DECORATE.startSpan(clientOptions);
5956
ChatCompletionDecorator.DECORATE.withChatCompletionCreateParams(span, params, false);
6057
return activateSpan(span);
6158
}
@@ -88,9 +85,7 @@ public static class CreateStreamingAdvice {
8885
public static AgentScope enter(
8986
@Advice.Argument(0) final ChatCompletionCreateParams params,
9087
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
91-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
92-
DECORATE.afterStart(span);
93-
DECORATE.withClientOptions(span, clientOptions);
88+
AgentSpan span = DECORATE.startSpan(clientOptions);
9489
ChatCompletionDecorator.DECORATE.withChatCompletionCreateParams(span, params, true);
9590
return activateSpan(span);
9691
}

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

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
65
import static datadog.trace.instrumentation.openai_java.OpenAiDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -52,9 +51,7 @@ public static class CreateAdvice {
5251
public static AgentScope enter(
5352
@Advice.Argument(0) final ChatCompletionCreateParams params,
5453
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
55-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
56-
DECORATE.afterStart(span);
57-
DECORATE.withClientOptions(span, clientOptions);
54+
AgentSpan span = DECORATE.startSpan(clientOptions);
5855
ChatCompletionDecorator.DECORATE.withChatCompletionCreateParams(span, params, false);
5956
return activateSpan(span);
6057
}
@@ -88,9 +85,7 @@ public static class CreateStreamingAdvice {
8885
public static AgentScope enter(
8986
@Advice.Argument(0) final ChatCompletionCreateParams params,
9087
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
91-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
92-
DECORATE.afterStart(span);
93-
DECORATE.withClientOptions(span, clientOptions);
88+
AgentSpan span = DECORATE.startSpan(clientOptions);
9489
ChatCompletionDecorator.DECORATE.withChatCompletionCreateParams(span, params, true);
9590
return activateSpan(span);
9691
}

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

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
65
import static datadog.trace.instrumentation.openai_java.OpenAiDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -48,9 +47,7 @@ public static class CreateAdvice {
4847
public static AgentScope enter(
4948
@Advice.Argument(0) final CompletionCreateParams params,
5049
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
51-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
52-
DECORATE.afterStart(span);
53-
DECORATE.withClientOptions(span, clientOptions);
50+
AgentSpan span = DECORATE.startSpan(clientOptions);
5451
CompletionDecorator.DECORATE.withCompletionCreateParams(span, params);
5552
return activateSpan(span);
5653
}
@@ -84,9 +81,7 @@ public static class CreateStreamingAdvice {
8481
public static AgentScope enter(
8582
@Advice.Argument(0) final CompletionCreateParams params,
8683
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
87-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
88-
DECORATE.afterStart(span);
89-
DECORATE.withClientOptions(span, clientOptions);
84+
AgentSpan span = DECORATE.startSpan(clientOptions);
9085
CompletionDecorator.DECORATE.withCompletionCreateParams(span, params);
9186
return activateSpan(span);
9287
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ public static class CreateStreamingAdvice {
9292
public static AgentScope enter(
9393
@Advice.Argument(0) final CompletionCreateParams params,
9494
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
95-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
96-
DECORATE.afterStart(span);
97-
DECORATE.withClientOptions(span, clientOptions);
95+
AgentSpan span = DECORATE.startSpan(clientOptions);
9896
CompletionDecorator.DECORATE.withCompletionCreateParams(span, params);
9997
return activateSpan(span);
10098
}

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
65
import static datadog.trace.instrumentation.openai_java.OpenAiDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -39,9 +38,7 @@ public static class CreateAdvice {
3938
public static AgentScope enter(
4039
@Advice.Argument(0) final EmbeddingCreateParams params,
4140
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
42-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
43-
DECORATE.afterStart(span);
44-
DECORATE.withClientOptions(span, clientOptions);
41+
AgentSpan span = DECORATE.startSpan(clientOptions);
4542
EmbeddingDecorator.DECORATE.withEmbeddingCreateParams(span, params);
4643
return activateSpan(span);
4744
}

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import datadog.trace.api.llmobs.LLMObsContext;
88
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
99
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext;
10+
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1011
import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes;
1112
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
1213
import datadog.trace.bootstrap.instrumentation.decorator.ClientDecorator;
@@ -24,6 +25,13 @@ public class OpenAiDecorator extends ClientDecorator {
2425

2526
private static final CharSequence COMPONENT_NAME = UTF8BytesString.create("openai");
2627

28+
public AgentSpan startSpan(ClientOptions clientOptions) {
29+
AgentSpan span = AgentTracer.startSpan(INSTRUMENTATION_NAME, SPAN_NAME);
30+
afterStart(span);
31+
withClientOptions(span, clientOptions);
32+
return span;
33+
}
34+
2735
@Override
2836
protected String service() {
2937
return null;

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

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
65
import static datadog.trace.instrumentation.openai_java.OpenAiDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -49,9 +48,7 @@ public static class CreateAdvice {
4948
public static AgentScope enter(
5049
@Advice.Argument(0) final ResponseCreateParams params,
5150
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
52-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
53-
DECORATE.afterStart(span);
54-
DECORATE.withClientOptions(span, clientOptions);
51+
AgentSpan span = DECORATE.startSpan(clientOptions);
5552
ResponseDecorator.DECORATE.withResponseCreateParams(span, params);
5653
return activateSpan(span);
5754
}
@@ -85,9 +82,7 @@ public static class CreateStreamingAdvice {
8582
public static AgentScope enter(
8683
@Advice.Argument(0) final ResponseCreateParams params,
8784
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
88-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
89-
DECORATE.afterStart(span);
90-
DECORATE.withClientOptions(span, clientOptions);
85+
AgentSpan span = DECORATE.startSpan(clientOptions);
9186
ResponseDecorator.DECORATE.withResponseCreateParams(span, params);
9287
return activateSpan(span);
9388
}

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

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activateSpan;
5-
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
65
import static datadog.trace.instrumentation.openai_java.OpenAiDecorator.DECORATE;
76
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
87
import static net.bytebuddy.matcher.ElementMatchers.returns;
@@ -51,9 +50,7 @@ public static class CreateAdvice {
5150
public static AgentScope enter(
5251
@Advice.Argument(0) final ResponseCreateParams params,
5352
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
54-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
55-
DECORATE.afterStart(span);
56-
DECORATE.withClientOptions(span, clientOptions);
53+
AgentSpan span = DECORATE.startSpan(clientOptions);
5754
ResponseDecorator.DECORATE.withResponseCreateParams(span, params);
5855
return activateSpan(span);
5956
}
@@ -87,9 +84,7 @@ public static class CreateStreamingAdvice {
8784
public static AgentScope enter(
8885
@Advice.Argument(0) final ResponseCreateParams params,
8986
@Advice.FieldValue("clientOptions") ClientOptions clientOptions) {
90-
AgentSpan span = startSpan(OpenAiDecorator.INSTRUMENTATION_NAME, OpenAiDecorator.SPAN_NAME);
91-
DECORATE.afterStart(span);
92-
DECORATE.withClientOptions(span, clientOptions);
87+
AgentSpan span = DECORATE.startSpan(clientOptions);
9388
ResponseDecorator.DECORATE.withResponseCreateParams(span, params);
9489
return activateSpan(span);
9590
}

0 commit comments

Comments
 (0)