stormlog.session
Shared session identity and lifecycle helpers.
Functions
|
Create a normalized session summary. |
|
Finalize a session without overwriting degraded terminal states. |
|
Infer a session summary from event timestamps and lifecycle markers. |
Create a new opaque session identifier. |
|
|
Validate and normalize a session status string. |
|
Return the current wall-clock timestamp in nanoseconds. |
|
Pick the default loaded session, preferring non-empty event groups. |
|
Pick the default session using lifecycle priority and recency. |
|
Deserialize a session summary mapping. |
|
Serialize a session summary into a plain JSON-safe mapping. |
|
Sort sessions by selection priority and recency. |
|
Build a deterministic synthetic session id for legacy artifacts. |
|
Return a copy of a session summary with lifecycle updates applied. |
Classes
|
Identity and lifecycle metadata for one capture session. |
- class stormlog.session.SessionSummary(session_id, status, started_at_ns, ended_at_ns, host, pid, job_id=None, rank=0, local_rank=0, world_size=1, source='stormlog.session')[source]
Bases:
objectIdentity and lifecycle metadata for one capture session.
- Parameters:
session_id (str)
status (str)
started_at_ns (int)
ended_at_ns (int | None)
host (str)
pid (int)
job_id (str | None)
rank (int)
local_rank (int)
world_size (int)
source (str)
- session_id: str
- status: str
- started_at_ns: int
- ended_at_ns: int | None
- host: str
- pid: int
- job_id: str | None = None
- rank: int = 0
- local_rank: int = 0
- world_size: int = 1
- source: str = 'stormlog.session'
- stormlog.session.create_session_summary(*, source, status='running', session_id=None, started_at_ns=None, ended_at_ns=None, host=None, pid=None, job_id=None, rank=0, local_rank=0, world_size=1)[source]
Create a normalized session summary.
- Parameters:
source (str)
status (str)
session_id (str | None)
started_at_ns (int | None)
ended_at_ns (int | None)
host (str | None)
pid (int | None)
job_id (str | None)
rank (int)
local_rank (int)
world_size (int)
- Return type:
- stormlog.session.finalize_session_summary(summary, *, ended_at_ns=None)[source]
Finalize a session without overwriting degraded terminal states.
- Parameters:
summary (SessionSummary)
ended_at_ns (int | None)
- Return type:
- stormlog.session.infer_session_summary_from_events(*, session_id, events, source, fallback_status='incomplete')[source]
Infer a session summary from event timestamps and lifecycle markers.
- Parameters:
session_id (str)
events (Iterable[Any])
source (str)
fallback_status (str)
- Return type:
- stormlog.session.normalize_session_status(value)[source]
Validate and normalize a session status string.
- Parameters:
value (object)
- Return type:
str
- stormlog.session.now_ns()[source]
Return the current wall-clock timestamp in nanoseconds.
- Return type:
int
- stormlog.session.select_default_loaded_session(sessions)[source]
Pick the default loaded session, preferring non-empty event groups.
- Parameters:
sessions (Iterable[Any])
- Return type:
Any | None
- stormlog.session.select_default_session(sessions)[source]
Pick the default session using lifecycle priority and recency.
- Parameters:
sessions (Iterable[_SessionLikeT])
- Return type:
_SessionLikeT | None
- stormlog.session.session_summary_from_dict(payload)[source]
Deserialize a session summary mapping.
- Parameters:
payload (Mapping[str, Any])
- Return type:
- stormlog.session.session_summary_to_dict(summary)[source]
Serialize a session summary into a plain JSON-safe mapping.
- Parameters:
summary (SessionSummary)
- Return type:
dict[str, Any]
- stormlog.session.sort_session_summaries(summaries)[source]
Sort sessions by selection priority and recency.
- Parameters:
summaries (Iterable[SessionSummary])
- Return type:
list[SessionSummary]
- stormlog.session.stable_legacy_session_id(*parts)[source]
Build a deterministic synthetic session id for legacy artifacts.
- Parameters:
parts (object)
- Return type:
str
- stormlog.session.update_session_summary(summary, *, status=None, ended_at_ns=<object object>, source=None)[source]
Return a copy of a session summary with lifecycle updates applied.
- Parameters:
summary (SessionSummary)
status (str | None)
ended_at_ns (int | None | object)
source (str | None)
- Return type: