INF-3 Поправил шапку с трейс ид
This commit is contained in:
@@ -11,6 +11,9 @@ from app_runtime.control.base import TraceQueryRequest
|
||||
from app_runtime.contracts.trace import TraceLevel, TraceLogRecord, TraceLogView
|
||||
|
||||
|
||||
TRACE_SECTION_SEPARATOR = "=" * 30
|
||||
|
||||
|
||||
class TraceRequestParser:
|
||||
def parse(self, request: Request) -> TraceQueryRequest:
|
||||
raw_levels = request.query_params.get("levels")
|
||||
@@ -85,11 +88,13 @@ class TraceResponseRenderer:
|
||||
|
||||
def _render_text(self, trace_view: TraceLogView, request: TraceQueryRequest) -> PlainTextResponse:
|
||||
lineage = [*trace_view.ancestors, trace_view]
|
||||
lines: list[str] = []
|
||||
lines = self._text_trace_summary_lines(trace_view)
|
||||
for index, entry in enumerate(lineage):
|
||||
if index > 0:
|
||||
if index == 0:
|
||||
lines.append("")
|
||||
lines.extend(self._text_trace_lines(entry, request))
|
||||
else:
|
||||
lines.extend(["", ""])
|
||||
lines.extend(self._text_trace_log_lines(entry, request))
|
||||
return PlainTextResponse(content="\n".join(lines))
|
||||
|
||||
def _render_html(self, trace_view: TraceLogView, request: TraceQueryRequest) -> HTMLResponse:
|
||||
@@ -183,11 +188,13 @@ class TraceResponseRenderer:
|
||||
|
||||
def _html_lines(self, trace_view: TraceLogView, request: TraceQueryRequest) -> str:
|
||||
lineage = [*trace_view.ancestors, trace_view]
|
||||
lines: list[str] = []
|
||||
lines = self._html_trace_summary_lines(trace_view, request)
|
||||
for index, entry in enumerate(lineage):
|
||||
if index > 0:
|
||||
if index == 0:
|
||||
lines.append(self._html_plain_line(""))
|
||||
lines.extend(self._html_trace_lines(entry, request))
|
||||
else:
|
||||
lines.extend([self._html_plain_line(""), self._html_plain_line("")])
|
||||
lines.extend(self._html_trace_log_lines(entry, request))
|
||||
return "".join(lines)
|
||||
|
||||
def _trace_payload(self, trace_view: TraceLogView, request: TraceQueryRequest) -> dict[str, object]:
|
||||
@@ -198,12 +205,18 @@ class TraceResponseRenderer:
|
||||
"messages": [record.as_dict(include_attrs_json=request.include_attrs_json) for record in trace_view.records],
|
||||
}
|
||||
|
||||
def _text_trace_lines(self, trace_view: TraceLogView, request: TraceQueryRequest) -> list[str]:
|
||||
lines = [
|
||||
def _text_trace_summary_lines(self, trace_view: TraceLogView) -> list[str]:
|
||||
return [
|
||||
f"trace_id: {trace_view.trace_id}",
|
||||
f"parent_id: {trace_view.parent_id or ''}",
|
||||
*self._child_id_lines(trace_view.child_ids),
|
||||
"------------------------------",
|
||||
]
|
||||
|
||||
def _text_trace_log_lines(self, trace_view: TraceLogView, request: TraceQueryRequest) -> list[str]:
|
||||
lines = [
|
||||
TRACE_SECTION_SEPARATOR,
|
||||
f"trace_id: {trace_view.trace_id}",
|
||||
"",
|
||||
]
|
||||
previous_step: str | None = None
|
||||
for record in trace_view.records:
|
||||
@@ -217,13 +230,19 @@ class TraceResponseRenderer:
|
||||
lines.append(self._text_message(record, request.include_attrs_json))
|
||||
return lines
|
||||
|
||||
def _html_trace_lines(self, trace_view: TraceLogView, request: TraceQueryRequest) -> list[str]:
|
||||
lines = [
|
||||
def _html_trace_summary_lines(self, trace_view: TraceLogView, request: TraceQueryRequest) -> list[str]:
|
||||
return [
|
||||
self._html_plain_line(f"trace_id: {self._trace_link(trace_view.trace_id, request)}"),
|
||||
self._html_plain_line(f"parent_id: {self._optional_trace_link(trace_view.parent_id, request)}"),
|
||||
self._html_plain_line("child_ids:"),
|
||||
*(self._html_plain_line(f" - {self._trace_link(child_id, request)}") for child_id in trace_view.child_ids),
|
||||
self._html_plain_line("------------------------------"),
|
||||
]
|
||||
|
||||
def _html_trace_log_lines(self, trace_view: TraceLogView, request: TraceQueryRequest) -> list[str]:
|
||||
lines = [
|
||||
self._html_plain_line(TRACE_SECTION_SEPARATOR),
|
||||
self._html_plain_line(f"trace_id: {self._trace_link(trace_view.trace_id, request)}"),
|
||||
self._html_plain_line(""),
|
||||
]
|
||||
previous_step: str | None = None
|
||||
for record in trace_view.records:
|
||||
|
||||
Reference in New Issue
Block a user