diff --git a/pom.xml b/pom.xml
index a4d609a..f7015d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,6 +102,10 @@
io.quarkus
quarkus-liquibase-mongodb
+
+ io.quarkus
+ quarkus-opentelemetry
+
io.quarkus
quarkus-junit5
diff --git a/src/main/java/com/redhat/composer/services/ChatBotService.java b/src/main/java/com/redhat/composer/services/ChatBotService.java
index b398091..bf763eb 100644
--- a/src/main/java/com/redhat/composer/services/ChatBotService.java
+++ b/src/main/java/com/redhat/composer/services/ChatBotService.java
@@ -19,6 +19,7 @@
import dev.langchain4j.model.chat.StreamingChatLanguageModel;
import dev.langchain4j.rag.content.Content;
import dev.langchain4j.service.AiServices;
+import io.opentelemetry.api.trace.Span;
import io.quarkus.runtime.util.StringUtil;
import io.smallrye.mutiny.Multi;
import jakarta.enterprise.context.ApplicationScoped;
@@ -66,7 +67,8 @@ public Multi chat(AssistantChatRequest request) {
public Multi chat(ChatBotRequest request) {
- log.info("ChatBotService.chat: " + request);
+ String traceId = Span.current().getSpanContext().getTraceId();
+ log.info("ChatBotService.chat for message: " + request.getMessage() + " traceId: " + traceId);
validateRequest(request);
@@ -92,8 +94,10 @@ public Multi chat(ChatBotRequest request) {
em.emit("\n\nSources used to generate this content:\n");
contentSources.forEach(content -> {
em.emit(content.textSegment().metadata().getString("source") + "\n");
+ log.info("Chat complete, traceId: " + traceId);
});
- em.complete();})
+ em.complete();
+ })
.start();
});
return multi;