---
title: CustomTimeSpan
summary: API reference for CustomTimeSpan.
status: draft
owner: <owner>
last_reviewed: 2026-07-23
library: SAIF.Framework.CodeTimer
reference_type: package
---

# CustomTimeSpan

`CustomTimeSpan` is a minimal value holder capturing one timed interval: its duration and its start/stop timestamps. Instances are appended to a [CodeTimerEntry](CodeTimerEntry.md)'s span history each time a timer is stopped, and are surfaced in XML output when requested.

## Purpose
- Record a single timed interval's `TimeSpan` duration alongside its start and stop `DateTime` values.

## Context
- Namespace: `SAIF.Framework.CodeTimer`
- Assembly/package: `SAIF.Framework.CodeTimer.dll`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| span | `public TimeSpan span` | The duration of this timed interval. |
| started | `public DateTime started` | Timestamp when this interval began. |
| stopped | `public DateTime stopped` | Timestamp when this interval ended. |
| CustomTimeSpan | `public CustomTimeSpan(TimeSpan span, DateTime started, DateTime stopped)` | Constructs a span record from the given duration and start/stop timestamps. |

## Behavioral notes
- Instances are created and appended to `CodeTimerEntry.spans` inside `CodeTimerEntry.Stop(bool isFinal)`, once per stop call.
- A span's milliseconds value is filtered out of XML output when it is `<= 0` (see [BR-006](../../business-rules.md#br-006-result-xml-omits-statistically-insignificant-attributes)).

## Constraints and usage notes
- This type is a plain, immutable-by-convention (but not enforced — fields are public and mutable) value holder; it has no behavior beyond its constructor*.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- SAIF.Framework.CodeTimer\SAIF.Framework.CodeTimer\CustomTimeSpan.cs
