初始提交
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import contextvars
|
||||
from uuid import uuid4
|
||||
|
||||
CTX_TRACE_ID: contextvars.ContextVar[str] = contextvars.ContextVar('trace-id', default='')
|
||||
CTX_REQUEST_ID: contextvars.ContextVar[str] = contextvars.ContextVar('request-id', default='')
|
||||
CTX_SPAN_ID: contextvars.ContextVar[str] = contextvars.ContextVar('span-id', default='')
|
||||
CTX_REQUEST_PATH: contextvars.ContextVar[str] = contextvars.ContextVar('request-path', default='')
|
||||
CTX_REQUEST_METHOD: contextvars.ContextVar[str] = contextvars.ContextVar('request-method', default='')
|
||||
|
||||
|
||||
class TraceCtx:
|
||||
@staticmethod
|
||||
def set_trace_id() -> str:
|
||||
_id = uuid4().hex
|
||||
CTX_TRACE_ID.set(_id)
|
||||
return _id
|
||||
|
||||
@staticmethod
|
||||
def get_trace_id() -> str:
|
||||
return CTX_TRACE_ID.get()
|
||||
|
||||
@staticmethod
|
||||
def set_request_id() -> str:
|
||||
_id = uuid4().hex
|
||||
CTX_REQUEST_ID.set(_id)
|
||||
return _id
|
||||
|
||||
@staticmethod
|
||||
def get_request_id() -> str:
|
||||
return CTX_REQUEST_ID.get()
|
||||
|
||||
@staticmethod
|
||||
def set_span_id() -> str:
|
||||
_id = uuid4().hex
|
||||
CTX_SPAN_ID.set(_id)
|
||||
return _id
|
||||
|
||||
@staticmethod
|
||||
def get_span_id() -> str:
|
||||
return CTX_SPAN_ID.get()
|
||||
|
||||
@staticmethod
|
||||
def set_request_path(path: str) -> None:
|
||||
CTX_REQUEST_PATH.set(path)
|
||||
|
||||
@staticmethod
|
||||
def get_request_path() -> str:
|
||||
return CTX_REQUEST_PATH.get()
|
||||
|
||||
@staticmethod
|
||||
def set_request_method(method: str) -> None:
|
||||
CTX_REQUEST_METHOD.set(method)
|
||||
|
||||
@staticmethod
|
||||
def get_request_method() -> str:
|
||||
return CTX_REQUEST_METHOD.get()
|
||||
|
||||
@staticmethod
|
||||
def clear() -> None:
|
||||
CTX_TRACE_ID.set('')
|
||||
CTX_REQUEST_ID.set('')
|
||||
CTX_SPAN_ID.set('')
|
||||
CTX_REQUEST_PATH.set('')
|
||||
CTX_REQUEST_METHOD.set('')
|
||||
Reference in New Issue
Block a user