SmartSpectra C++ SDK
Measure human vitals from video with SmartSpectra C++ SDK.
Loading...
Searching...
No Matches
smartspectra.ipc.metrics_collector Namespace Reference

Classes

class  MetricsCollector
class  MetricsCollectorConfig
class  RespReader

Functions

bytes encode_command (*Union[str, bytes] args)
Any normalize (Any value)
Iterable[Tuple[str, List[Dict[str, Any]]]] _extract_measurement_lists (Any node, Optional[List[str]] path=None)
bool _has_time_fields (Dict[str, Any] sample)
Optional[float] _coerce_sample_timestamp (Dict[str, Any] sample)
Optional[float] _coerce_sample_value (Dict[str, Any] sample)

Detailed Description

MetricsCollector for SmartSpectra IPC.

This module provides a MetricsCollector class that subscribes to Redis pub/sub
channels for core_metrics and edge_metrics, aggregates them in memory (converting
from array-of-structs to struct-of-arrays), and saves both:
1. A continuous JSONL file with all metric envelopes
2. A final aggregated JSON summary file on completion

The collector maintains metadata including session start/end times and a user-provided session_id.

Function Documentation

◆ _coerce_sample_timestamp()

Optional[float] smartspectra.ipc.metrics_collector._coerce_sample_timestamp ( Dict[str, Any] sample)
protected
Extract timestamp from a sample in microseconds.

◆ _coerce_sample_value()

Optional[float] smartspectra.ipc.metrics_collector._coerce_sample_value ( Dict[str, Any] sample)
protected
Extract numeric value from a sample.

◆ _extract_measurement_lists()

Iterable[Tuple[str, List[Dict[str, Any]]]] smartspectra.ipc.metrics_collector._extract_measurement_lists ( Any node,
Optional[List[str]] path = None )
protected
Recursively extract measurement arrays from nested payload structure.

◆ _has_time_fields()

bool smartspectra.ipc.metrics_collector._has_time_fields ( Dict[str, Any] sample)
protected
Check if a sample dict has timestamp fields.

◆ encode_command()

bytes smartspectra.ipc.metrics_collector.encode_command ( *Union[str, bytes] args)
Encode Redis command using RESP protocol.

◆ normalize()

Any smartspectra.ipc.metrics_collector.normalize ( Any value)
Normalize bytes to strings in Redis responses.