core.otlp.utils
OTLP utility functions for jobmon.
Classes
Formatter that adds OpenTelemetry span details to jobmon logs. |
Functions
|
Get details of the current OpenTelemetry span. |
|
Structlog processor to add OpenTelemetry span details to log entries. |
Module Contents
- core.otlp.utils.get_current_span_details() Tuple[str | None, str | None, str | None]
Get details of the current OpenTelemetry span.
- Returns:
Tuple of (span_id, trace_id, parent_span_id) as hex strings, or (None, None, None)
- core.otlp.utils.add_span_details_processor(logger: Any, method_name: str, event_dict: Dict[str, Any]) Dict[str, Any]
Structlog processor to add OpenTelemetry span details to log entries.
- Parameters:
logger – The logger instance (not used, but required by Structlog processor signature).
method_name – The logging method name (e.g., “info”, “debug”).
event_dict – The event dictionary representing the log entry.
- Returns:
The modified event dictionary with OpenTelemetry span details added.
- class core.otlp.utils.JobmonOTLPFormatter(fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)
Bases:
logging.FormatterFormatter that adds OpenTelemetry span details to jobmon logs.
Note: For handlers using _JobmonOTLPLoggingHandler, this formatter is not used for OTLP output (handler creates OTLPLogRecord directly). It only affects console/file output.
Initialize the formatter with specified format strings.
Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format.
Use a style parameter of ‘%’, ‘{’ or ‘$’ to specify that you want to use one of %-formatting,
str.format()({}) formatting orstring.Templateformatting in your format string.Changed in version 3.2: Added the
styleparameter.- format(record: logging.LogRecord) str
Format log record with OpenTelemetry span details.