Chronaxis用户手册English
本页目录相关类型对象导航TransformStageTransformStage.__init__TransformStage._ensure_activeTransformStage.boundsTransformStage._invalidTransformStage._sampleTransformStage._at_gridTransformStage._convert_rateTransformStage._deliverTransformStage._drainTransformStage._append_spanTransformStage.pushTransformStage._flush_waitingTransformStage._processTransformStage.finishTransformStage._finish_gridTransformStage.close

chronaxis.execution.transform_stream

在原始记录流及下游规则之间插入按需的时序变换。

每一层只持有自己的最新输入、滚动窗口,以及固定周期等待后帧确认时尚未 交付的有界原组。待同一时刻的原更新与变换值均齐全,再原子交给下层。 无全会话网格、输入重扫或对照时间列;预算、取消和真实EOF沿主执行器。

这是模块参考。日常调用先查公开API索引;下划线对象和嵌套函数供维护者查阅。签名来自固定源码,公开类构造签名经实际Python接口核对。

相关类型

D、DecodedTimeGroup、DriverExpression、LatestSignalState、QualityFlag(源码别名Q)、RecordSample、ScalarValue、SourceRef、TransformSpan、TransformWindow

对象导航

对象 用途
TransformStage 拥有一层的状态与前瞻,向唯一后继按实际时间递增地交付组。
TransformStage.__init__
TransformStage._ensure_active 拒绝关闭或失败后的继续推进,避免重发未完成网格。
TransformStage.bounds 取得实际可观测起点和已知终点。
TransformStage._invalid 构造明确未知的输出。
TransformStage._sample 构造离散输出。
TransformStage._at_grid 从原区间读取[t-W,t)及变化率端点。
TransformStage._convert_rate 换算变化率目标单位。
TransformStage._deliver 同一时刻真实更新与离散输出一次交付。
TransformStage._drain 按网格和原组时间归并。
TransformStage._append_span 闭合上一条原始保持。
TransformStage.push 消费上游完整组。
TransformStage._flush_waiting 以已确认的原对处理所有待定组。
TransformStage._process 按已知计量推进原更新和网格。
TransformStage.finish 完成真正EOF后标记宿主状态正常结束。
TransformStage._finish_grid 按真实来源EOF补最后可定网格,缺少后继原帧不外推周期。
TransformStage.close 清理等待组、真实区间和最新值。
导入与重导出来源(展开)
python
from collections import deque
from dataclasses import replace
from fractions import Fraction
from ..core.numeric import ScalarValue
from ..core.types import QualityFlag as Q, SignalDType as D
from ..core.models import SourceRef
from ..results.budget import _reserve_owned_ram, _release_owned_ram, _cleanup_owner
from .driver_expression import DriverExpression
from .groups import DecodedTimeGroup
from .history_records import estimate_record_bytes
from .record_sample import RecordSample
from .state import LatestSignalState
from .transform_window import TransformSpan, TransformWindow, first_grid

TransformStage

拥有一层的状态与前瞻,向唯一后继按实际时间递增地交付组。

python
TransformStage(plan, item, defs, choice, period, ends, cursors, budget, emit)

源码:src/chronaxis/execution/transform_stream.py:22(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage.__init__

python
TransformStage.__init__(plan, item, defs, choice, period, ends, cursors, budget, emit)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
plan AnalysisPlan 是 无 位置或关键字。本次实际执行的完整计划,提供后端、会话、绑定及输入依赖。
item TemporalTransformPlan 是 无 位置或关键字。该阶段单独负责的一个时序声明,包含运算、输入、窗口和输出身份。
defs Sequence[SignalDefinition] 是 无 位置或关键字。上游已核实的信号定义,包括本级可能消费的先前时序输出。
choice IntervalChoice 是 无 位置或关键字。解析出的actual、fixed或dbc口径及其原报文驱动名。
period int | None 是 无 位置或关键字。已核实的固定或DBC周期纳秒;actual模式没有替代周期。
ends dict[str, int] 是 无 位置或关键字。父执行器共享的各来源观测结束时间表,用于界定有效保持与EOF。
cursors Mapping[str, RecordSourceCursor] 是 无 位置或关键字。原始来源名到实际读取游标的映射,用于查询观测首末和读取是否完成。
budget ResourceBudget 是 无 位置或关键字。本会话共用的资源用量记录,计入本级状态、待后帧补算的组及窗口工作数组。
emit Callable[[DecodedTimeGroup], None] 是 无 位置或关键字。下一级唯一的组消费者,将按实际时间和原子归组顺序接收结果。

返回说明

owner。

异常说明

预算/绑定错误。

源码:src/chronaxis/execution/transform_stream.py:25(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._ensure_active

拒绝关闭或失败后的继续推进,避免重发未完成网格。

python
TransformStage._ensure_active()

参数:无显式参数。

参数说明

无。

返回说明

None。

异常说明

生命周期错误。

源码:src/chronaxis/execution/transform_stream.py:69(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage.bounds

取得实际可观测起点和已知终点。

python
TransformStage.bounds()

参数:无显式参数。

参数说明

无。

返回说明

起点/可选终点。

异常说明

游标错误。

源码:src/chronaxis/execution/transform_stream.py:75(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._invalid

构造明确未知的输出。

python
TransformStage._invalid(quality)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
quality QualityFlag 是 无 位置或关键字。构造无效时序结果的具体原因位,未提供原因时使用MISSING。

返回说明

ScalarValue。

异常说明

非法质量位。

源码:src/chronaxis/execution/transform_stream.py:90(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._sample

构造离散输出。

python
TransformStage._sample(t, value)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
t int 是 无 位置或关键字。当前实际时间的整数纳秒,用于定位新样本、网格或区间终点。
value ScalarValue 是 无 位置或关键字。当前网格或实测右侧计算得到的变换值,带输出dtype和有效性。

返回说明

RecordSample。

异常说明

模型错误。

源码:src/chronaxis/execution/transform_stream.py:94(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._at_grid

从原区间读取[t-W,t)及变化率端点。

python
TransformStage._at_grid(t, point, update)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
t int 是 无 位置或关键字。当前实际时间的整数纳秒,用于定位新样本、网格或区间终点。
point ScalarValue | None 是 无 位置或关键字。同一时刻可用的输入点查询结果;没有真实同一时刻点时可为空。
update bool 是 无 位置或关键字。该点是否确有活动数值依赖更新,用来区分真实样本与保持/裁剪边界。

返回说明

ScalarValue。

异常说明

预算/数值错误。

源码:src/chronaxis/execution/transform_stream.py:100(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._convert_rate

换算变化率目标单位。

python
TransformStage._convert_rate(value)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
value ScalarValue 是 无 位置或关键字。使用输入自然尺度每秒表示的差分或拟合值,之后换为声明的速率单位。

返回说明

新标量。

异常说明

转换错误。

源码:src/chronaxis/execution/transform_stream.py:166(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._deliver

同一时刻真实更新与离散输出一次交付。

python
TransformStage._deliver(group, t, value=None)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
group DecodedTimeGroup | None 是 无 位置或关键字。与输出同一时刻的原始组;纯定时网格输出可能没有上游组。
t int 是 无 位置或关键字。当前实际时间的整数纳秒,用于定位新样本、网格或区间终点。
value ScalarValue | None 否 None 位置或关键字。此次需要附加到组中的离散变换值,若无产出则只转发原组。

返回说明

无。

异常说明

下游错误。

源码:src/chronaxis/execution/transform_stream.py:178(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._drain

按网格和原组时间归并。

python
TransformStage._drain(group, point=None, update=False, *, through=None, unresolved=False)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
group DecodedTimeGroup | None 是 无 位置或关键字。等待与已定网格结果归并的上游组,EOF补齐时可为空。
point ScalarValue | None 否 None 位置或关键字。同一时刻可用的输入点查询结果;没有真实同一时刻点时可为空。
update bool 否 False 位置或关键字。该点是否确有活动数值依赖更新,用来区分真实样本与保持/裁剪边界。
through int | None 否 None 仅关键字。无原组时允许补网格到的实际截止纳秒,不能超出已知观测。
unresolved bool 否 False 仅关键字。为真表示固定/DBC驱动缺少后继帧,不能推断不完整周期的宽度。

返回说明

无。

异常说明

下游/预算错误。

源码:src/chronaxis/execution/transform_stream.py:187(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._append_span

闭合上一条原始保持。

python
TransformStage._append_span(t, pair_width=None)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
t int 是 无 位置或关键字。当前实际时间的整数纳秒,用于定位新样本、网格或区间终点。
pair_width int | None 否 None 位置或关键字。相邻两次原驱动的实际间隔纳秒,用于将组内重叠比例折算为选定周期;未知时为空。

返回说明

无。

异常说明

预算/顺序错误。

源码:src/chronaxis/execution/transform_stream.py:229(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage.push

消费上游完整组。

python
TransformStage.push(group)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
group DecodedTimeGroup 是 无 位置或关键字。来自上游的一个已原子归并的实际时间组,包括信号更新和来源。

返回说明

无;向后继交付。

异常说明

原输入/预算/求值错误。

源码:src/chronaxis/execution/transform_stream.py:235(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._flush_waiting

以已确认的原对处理所有待定组。

python
TransformStage._flush_waiting(width)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
width int | None 是 无 位置或关键字。相邻两次原驱动的实际间隔纳秒,用于将组内重叠比例折算为选定周期;未知时为空。

返回说明

无。

异常说明

交付/退款错误。

源码:src/chronaxis/execution/transform_stream.py:262(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._process

按已知计量推进原更新和网格。

python
TransformStage._process(group, width, *, unresolved=False)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
group DecodedTimeGroup 是 无 位置或关键字。来自上游的一个已原子归并的实际时间组,包括信号更新和来源。
width int | None 是 无 位置或关键字。相邻两次原驱动的实际间隔纳秒,用于将组内重叠比例折算为选定周期;未知时为空。
unresolved bool 否 False 仅关键字。为真表示固定/DBC驱动缺少后继帧,不能推断不完整周期的宽度。

返回说明

无。

异常说明

原错。

源码:src/chronaxis/execution/transform_stream.py:270(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage.finish

完成真正EOF后标记宿主状态正常结束。

python
TransformStage.finish()

参数:无显式参数。

参数说明

无。

返回说明

None。

异常说明

最后网格失败仍通知取消。

源码:src/chronaxis/execution/transform_stream.py:316(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage._finish_grid

按真实来源EOF补最后可定网格,缺少后继原帧不外推周期。

python
TransformStage._finish_grid()

参数:无显式参数。

参数说明

无。

返回说明

无。

异常说明

交付错误。

源码:src/chronaxis/execution/transform_stream.py:322(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

TransformStage.close

清理等待组、真实区间和最新值。

python
TransformStage.close()

参数:无显式参数。

参数说明

无。

返回说明

无。

异常说明

退款失败可重试。

源码:src/chronaxis/execution/transform_stream.py:337(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

Chronaxis 用户手册 · 离线阅读