MetricsCollector
Metrics collection for test runs.
Collects timing and quality metrics during test execution.
Classes
- class TimingResult
Result of a timing measurement.
Methods:
- duration_ms()
Duration in milliseconds.
- class TimingContext
Context manager for timing an operation.
- Usage:
- with ctx.timing(“watershed_stroke”) as t:
effect.apply(…)
print(f”Took {t.duration_ms:.1f}ms”)
Methods:
- __init__()
Initialize timing context.
- duration_seconds()
Duration in seconds (available after context exits).
- duration_ms()
Duration in milliseconds (available after context exits).
- class MetricValue
A recorded metric value.
- class MetricsCollector
Collects timing and quality metrics during tests.
- Usage:
collector = MetricsCollector()
# Time an operation with collector.timing(“watershed_stroke”):
effect.apply(…)
# Record a custom metric collector.record_metric(“voxel_count”, 1247, “voxels”)
# Get all metrics metrics = collector.get_metrics()
Methods:
- __init__()
Initialize metrics collector.
- timing()
Create a timing context for measuring operation duration.
- record_metric()
Record a custom metric.
- get_metrics()
Get all collected metrics as a dictionary.
- get_timing()
Get timing for a specific operation.
- get_metric()
Get a specific metric.
- clear()
Clear all collected metrics.
Functions
- duration_ms()
Duration in milliseconds.
- duration_seconds()
Duration in seconds (available after context exits).
- duration_ms()
Duration in milliseconds (available after context exits).
- timing()
Create a timing context for measuring operation duration.
- Args:
operation: Name of the operation being timed.
- Returns:
Context manager that records duration on exit.
- record_metric()
Record a custom metric.
- Args:
name: Metric name (e.g., “voxel_count”, “dice_coefficient”). value: Metric value. unit: Optional unit string (e.g., “voxels”, “ms”).
- get_metrics()
Get all collected metrics as a dictionary.
- Returns:
Dictionary with “timings” and “metrics” keys.
- get_timing()
Get timing for a specific operation.
- Args:
operation: Operation name.
- Returns:
TimingResult or None if not found.
- get_metric()
Get a specific metric.
- Args:
name: Metric name.
- Returns:
MetricValue or None if not found.
- clear()
Clear all collected metrics.