Request Context Manager (observability/request_context.py)

poco-claw · backend/app/core/observability/request_context.py · python · MIT
infra, lang:python, tag:context

Provides request and trace ID generation and context propagation for observability, used to correlate logs across services.

# Source: https://github.com/poco-ai/poco-claw | License: MIT | Copyright 2026 poco-ai
# Provided via justclaw.it.com; keep this notice with the code.
import uuid
from contextvars import ContextVar, Token

_request_id_ctx: ContextVar[str | None] = ContextVar("request_id", default=None)
_trace_id_ctx: ContextVar[str | None] = ContextVar("trace_id", default=None)


def generate_request_id() -> str:
    return uuid.uuid4().hex


def generate_trace_id() -> str:
    return uuid.uuid4().hex


def set_request_id(value: str | None) -> Token[str | None]:
    return _request_id_ctx.set(value)


def set_trace_id(value: str | None) -> Token[str | None]:
    return _trace_id_ctx.set(value)


def reset_request_id(token: Token[str | None]) -> None:
    _request_id_ctx.reset(token)


def reset_trace_id(to

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key