|
@@ -65,8 +65,11 @@ class LangFuseDataTrace(BaseTraceInstance):
|
|
|
self.generate_name_trace(trace_info)
|
|
|
|
|
|
def workflow_trace(self, trace_info: WorkflowTraceInfo):
|
|
|
- trace_id = trace_info.workflow_app_log_id or trace_info.workflow_run_id
|
|
|
+ trace_id = trace_info.workflow_run_id
|
|
|
user_id = trace_info.metadata.get("user_id")
|
|
|
+ metadata = trace_info.metadata
|
|
|
+ metadata["workflow_app_log_id"] = trace_info.workflow_app_log_id
|
|
|
+
|
|
|
if trace_info.message_id:
|
|
|
trace_id = trace_info.message_id
|
|
|
name = TraceTaskName.MESSAGE_TRACE.value
|
|
@@ -76,7 +79,7 @@ class LangFuseDataTrace(BaseTraceInstance):
|
|
|
name=name,
|
|
|
input=trace_info.workflow_run_inputs,
|
|
|
output=trace_info.workflow_run_outputs,
|
|
|
- metadata=trace_info.metadata,
|
|
|
+ metadata=metadata,
|
|
|
session_id=trace_info.conversation_id,
|
|
|
tags=["message", "workflow"],
|
|
|
created_at=trace_info.start_time,
|
|
@@ -84,14 +87,14 @@ class LangFuseDataTrace(BaseTraceInstance):
|
|
|
)
|
|
|
self.add_trace(langfuse_trace_data=trace_data)
|
|
|
workflow_span_data = LangfuseSpan(
|
|
|
- id=(trace_info.workflow_app_log_id or trace_info.workflow_run_id),
|
|
|
+ id=trace_info.workflow_run_id,
|
|
|
name=TraceTaskName.WORKFLOW_TRACE.value,
|
|
|
input=trace_info.workflow_run_inputs,
|
|
|
output=trace_info.workflow_run_outputs,
|
|
|
trace_id=trace_id,
|
|
|
start_time=trace_info.start_time,
|
|
|
end_time=trace_info.end_time,
|
|
|
- metadata=trace_info.metadata,
|
|
|
+ metadata=metadata,
|
|
|
level=LevelEnum.DEFAULT if trace_info.error == "" else LevelEnum.ERROR,
|
|
|
status_message=trace_info.error or "",
|
|
|
)
|
|
@@ -103,7 +106,7 @@ class LangFuseDataTrace(BaseTraceInstance):
|
|
|
name=TraceTaskName.WORKFLOW_TRACE.value,
|
|
|
input=trace_info.workflow_run_inputs,
|
|
|
output=trace_info.workflow_run_outputs,
|
|
|
- metadata=trace_info.metadata,
|
|
|
+ metadata=metadata,
|
|
|
session_id=trace_info.conversation_id,
|
|
|
tags=["workflow"],
|
|
|
)
|
|
@@ -192,7 +195,7 @@ class LangFuseDataTrace(BaseTraceInstance):
|
|
|
metadata=metadata,
|
|
|
level=(LevelEnum.DEFAULT if status == "succeeded" else LevelEnum.ERROR),
|
|
|
status_message=trace_info.error or "",
|
|
|
- parent_observation_id=(trace_info.workflow_app_log_id or trace_info.workflow_run_id),
|
|
|
+ parent_observation_id=trace_info.workflow_run_id,
|
|
|
)
|
|
|
else:
|
|
|
span_data = LangfuseSpan(
|