mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-22 13:34:24 +00:00
test(monitoring): cover trace observability
This commit is contained in:
@@ -1318,10 +1318,7 @@ class MonitoringService:
|
||||
|
||||
query = query.order_by(persistence_monitoring.MonitoringTrace.started_at.desc()).limit(limit).offset(offset)
|
||||
result = await self.ap.persistence_mgr.execute_async(query)
|
||||
traces = [
|
||||
self._serialize_trace(row[0] if isinstance(row, tuple) else row)
|
||||
for row in result.all()
|
||||
]
|
||||
traces = [self._serialize_trace(row[0] if isinstance(row, tuple) else row) for row in result.all()]
|
||||
return traces, total
|
||||
|
||||
async def get_trace_details(self, trace_id: str) -> dict:
|
||||
@@ -1341,10 +1338,7 @@ class MonitoringService:
|
||||
.order_by(persistence_monitoring.MonitoringSpan.started_at.asc())
|
||||
)
|
||||
span_result = await self.ap.persistence_mgr.execute_async(span_query)
|
||||
spans = [
|
||||
self._serialize_span(row[0] if isinstance(row, tuple) else row)
|
||||
for row in span_result.all()
|
||||
]
|
||||
spans = [self._serialize_span(row[0] if isinstance(row, tuple) else row) for row in span_result.all()]
|
||||
|
||||
return {
|
||||
'trace_id': trace_id,
|
||||
|
||||
@@ -263,7 +263,9 @@ class RuntimePipeline:
|
||||
result = await result
|
||||
|
||||
if isinstance(result, pipeline_entities.StageProcessResult): # 直接返回结果
|
||||
span_result_type = str(result.result_type.value if hasattr(result.result_type, 'value') else result.result_type)
|
||||
span_result_type = str(
|
||||
result.result_type.value if hasattr(result.result_type, 'value') else result.result_type
|
||||
)
|
||||
self.ap.logger.debug(
|
||||
f'Stage {stage_container.inst_name} processed query {query.query_id} res {result.result_type}'
|
||||
)
|
||||
@@ -290,7 +292,9 @@ class RuntimePipeline:
|
||||
await self._check_output(query, sub_result)
|
||||
|
||||
if sub_result.result_type == pipeline_entities.ResultType.INTERRUPT:
|
||||
self.ap.logger.debug(f'Stage {stage_container.inst_name} interrupted query {query.query_id}')
|
||||
self.ap.logger.debug(
|
||||
f'Stage {stage_container.inst_name} interrupted query {query.query_id}'
|
||||
)
|
||||
break
|
||||
elif sub_result.result_type == pipeline_entities.ResultType.CONTINUE:
|
||||
query = sub_result.new_query
|
||||
|
||||
@@ -757,7 +757,9 @@ class RuntimeConnectionHandler(handler.Handler):
|
||||
'sender_id': str(query.sender_id),
|
||||
'_trace_context': {
|
||||
'trace_id': query.variables.get('_monitoring_trace_id') if query.variables else None,
|
||||
'parent_span_id': query.variables.get('_monitoring_root_span_id') if query.variables else None,
|
||||
'parent_span_id': query.variables.get('_monitoring_root_span_id')
|
||||
if query.variables
|
||||
else None,
|
||||
'message_id': query.variables.get('_monitoring_message_id') if query.variables else None,
|
||||
'query_id': query.query_id,
|
||||
'session_id': session_name,
|
||||
|
||||
@@ -270,7 +270,9 @@ class LocalAgentRunner(runner.RequestRunner):
|
||||
'session_name': f'{query.session.launcher_type.value}_{query.session.launcher_id}',
|
||||
'_trace_context': {
|
||||
'trace_id': query.variables.get('_monitoring_trace_id') if query.variables else None,
|
||||
'parent_span_id': query.variables.get('_monitoring_root_span_id') if query.variables else None,
|
||||
'parent_span_id': query.variables.get('_monitoring_root_span_id')
|
||||
if query.variables
|
||||
else None,
|
||||
'message_id': query.variables.get('_monitoring_message_id') if query.variables else None,
|
||||
'query_id': query.query_id,
|
||||
'session_id': f'{query.launcher_type.value}_{query.launcher_id}',
|
||||
|
||||
Reference in New Issue
Block a user