|
16 | 16 | import io.micrometer.core.instrument.Counter; |
17 | 17 | import io.micrometer.core.instrument.Meter; |
18 | 18 | import io.micrometer.core.instrument.Metrics; |
19 | | -import io.micrometer.core.instrument.Tag; |
20 | 19 | import io.micrometer.core.instrument.Tags; |
21 | 20 | import io.micrometer.core.instrument.Timer; |
22 | 21 | import io.quarkiverse.langchain4j.cost.Cost; |
@@ -78,9 +77,10 @@ public void onResponse(ChatModelResponseContext responseContext) { |
78 | 77 |
|
79 | 78 | ChatModelRequest request = responseContext.request(); |
80 | 79 | ChatModelResponse response = responseContext.response(); |
81 | | - Tags tags = Tags.of( |
82 | | - Tag.of("gen_ai.request.model", request.model()), |
83 | | - Tag.of("gen_ai.response.model", response.model())); |
| 80 | + Tags tags = Tags.of("gen_ai.request.model", request.model()); |
| 81 | + if (response.model() != null) { |
| 82 | + tags = tags.and("gen_ai.response.model", response.model()); |
| 83 | + } |
84 | 84 | if (ContextLocals.duplicatedContextActive()) { |
85 | 85 | String aiServiceClassName = ContextLocals.get(AiServiceConstants.AI_SERVICE_CLASS_NAME); |
86 | 86 | if (aiServiceClassName != null) { |
@@ -112,10 +112,13 @@ public void onError(ChatModelErrorContext errorContext) { |
112 | 112 | return; |
113 | 113 | } |
114 | 114 |
|
115 | | - Tags tags = Tags.of( |
116 | | - Tag.of("gen_ai.request.model", errorContext.request().model()), |
117 | | - Tag.of("gen_ai.response.model", errorContext.partialResponse().model()), |
118 | | - Tag.of("error.type", aiMessage.text())); |
| 115 | + Tags tags = Tags.of("gen_ai.request.model", errorContext.request().model()); |
| 116 | + if (errorContext.partialResponse().model() != null) { |
| 117 | + tags = tags.and("gen_ai.response.model", errorContext.partialResponse().model()); |
| 118 | + } |
| 119 | + if (aiMessage.text() != null) { |
| 120 | + tags = tags.and("error.type", aiMessage.text()); |
| 121 | + } |
119 | 122 | duration.withTags(tags).record(endTime - startTime, TimeUnit.NANOSECONDS); |
120 | 123 | } |
121 | 124 |
|
|
0 commit comments