Skip to content

Commit 1fc8204

Browse files
author
harvey_xiang
committed
feat: remove generate_trace_id to context
1 parent 6b6728c commit 1fc8204

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/memos/api/context/context.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
and request isolation.
77
"""
88

9+
import os
910
import uuid
1011

1112
from collections.abc import Callable
@@ -117,6 +118,11 @@ def require_context() -> RequestContext:
117118
_trace_id_getter: TraceIdGetter | None = None
118119

119120

121+
def generate_trace_id() -> str:
122+
"""Generate a random trace_id."""
123+
return os.urandom(16).hex()
124+
125+
120126
def set_trace_id_getter(getter: TraceIdGetter) -> None:
121127
"""
122128
Set a custom trace_id getter function.

src/memos/api/middleware/request_context.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,19 @@
33
"""
44

55
import logging
6-
import os
76

87
from collections.abc import Callable
98

109
from starlette.middleware.base import BaseHTTPMiddleware
1110
from starlette.requests import Request
1211
from starlette.responses import Response
1312

14-
from memos.api.context.context import RequestContext, set_request_context
13+
from memos.api.context.context import RequestContext, generate_trace_id, set_request_context
1514

1615

1716
logger = logging.getLogger(__name__)
1817

1918

20-
def generate_trace_id() -> str:
21-
"""Generate a random trace_id."""
22-
return os.urandom(16).hex()
23-
24-
2519
def extract_trace_id_from_headers(request: Request) -> str | None:
2620
"""Extract trace_id from various possible headers with priority: g-trace-id > x-trace-id > trace-id."""
2721
trace_id = request.headers.get("g-trace-id")

src/memos/log.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from dotenv import load_dotenv
88

99
from memos import settings
10-
from memos.api.context.context import get_current_trace_id
10+
from memos.api.context.context import generate_trace_id, get_current_trace_id
1111

1212

1313
# Load environment variables
@@ -33,9 +33,9 @@ class TraceIDFilter(logging.Filter):
3333
def filter(self, record):
3434
try:
3535
trace_id = get_current_trace_id()
36-
record.trace_id = trace_id if trace_id else "no-trace-id"
36+
record.trace_id = trace_id if trace_id else generate_trace_id()
3737
except Exception:
38-
record.trace_id = "no-trace-id"
38+
record.trace_id = generate_trace_id()
3939
return True
4040

4141

0 commit comments

Comments
 (0)