|
5 | 5 |
|
6 | 6 | package io.opentelemetry.instrumentation.openai.v1_1; |
7 | 7 |
|
| 8 | +import static io.opentelemetry.instrumentation.api.incubator.semconv.genai.internal.GenAiExceptionEventExtractors.setGenAiClientExceptionEventExtractor; |
| 9 | + |
8 | 10 | import com.google.errorprone.annotations.CanIgnoreReturnValue; |
9 | 11 | import com.openai.models.chat.completions.ChatCompletion; |
10 | 12 | import com.openai.models.chat.completions.ChatCompletionCreateParams; |
@@ -49,22 +51,25 @@ public OpenAITelemetryBuilder setCaptureMessageContent(boolean captureMessageCon |
49 | 51 | public OpenAITelemetry build() { |
50 | 52 | ChatAttributesGetter chatAttributesGetter = new ChatAttributesGetter(); |
51 | 53 | Instrumenter<ChatCompletionCreateParams, ChatCompletion> chatInstrumenter = |
52 | | - Instrumenter.<ChatCompletionCreateParams, ChatCompletion>builder( |
53 | | - openTelemetry, |
54 | | - INSTRUMENTATION_NAME, |
55 | | - GenAiSpanNameExtractor.create(chatAttributesGetter)) |
56 | | - .addAttributesExtractor(GenAiAttributesExtractor.create(chatAttributesGetter)) |
57 | | - .addOperationMetrics(GenAiClientMetrics.get()) |
| 54 | + setGenAiClientExceptionEventExtractor( |
| 55 | + Instrumenter.<ChatCompletionCreateParams, ChatCompletion>builder( |
| 56 | + openTelemetry, |
| 57 | + INSTRUMENTATION_NAME, |
| 58 | + GenAiSpanNameExtractor.create(chatAttributesGetter)) |
| 59 | + .addAttributesExtractor(GenAiAttributesExtractor.create(chatAttributesGetter)) |
| 60 | + .addOperationMetrics(GenAiClientMetrics.get())) |
58 | 61 | .buildInstrumenter(); |
59 | 62 |
|
60 | 63 | EmbeddingAttributesGetter embeddingAttributesGetter = new EmbeddingAttributesGetter(); |
61 | 64 | Instrumenter<EmbeddingCreateParams, CreateEmbeddingResponse> embeddingsInstrumenter = |
62 | | - Instrumenter.<EmbeddingCreateParams, CreateEmbeddingResponse>builder( |
63 | | - openTelemetry, |
64 | | - INSTRUMENTATION_NAME, |
65 | | - GenAiSpanNameExtractor.create(embeddingAttributesGetter)) |
66 | | - .addAttributesExtractor(GenAiAttributesExtractor.create(embeddingAttributesGetter)) |
67 | | - .addOperationMetrics(GenAiClientMetrics.get()) |
| 65 | + setGenAiClientExceptionEventExtractor( |
| 66 | + Instrumenter.<EmbeddingCreateParams, CreateEmbeddingResponse>builder( |
| 67 | + openTelemetry, |
| 68 | + INSTRUMENTATION_NAME, |
| 69 | + GenAiSpanNameExtractor.create(embeddingAttributesGetter)) |
| 70 | + .addAttributesExtractor( |
| 71 | + GenAiAttributesExtractor.create(embeddingAttributesGetter)) |
| 72 | + .addOperationMetrics(GenAiClientMetrics.get())) |
68 | 73 | .buildInstrumenter(SpanKindExtractor.alwaysClient()); |
69 | 74 |
|
70 | 75 | Logger eventLogger = openTelemetry.getLogsBridge().get(INSTRUMENTATION_NAME); |
|
0 commit comments