feat: sample workflow phase latency

This commit is contained in:
2026-09-19 19:44:21 +08:00
parent 0ac3f2f3f8
commit a5cef4dbe8
10 changed files with 190 additions and 7 deletions

View File

@@ -37,6 +37,18 @@ type BusinessSnapshot struct {
WorkflowTerminalLatencySeconds float64
// WorkflowTerminalLatencyMaxSeconds 最近窗口终态流程样本最大耗时。
WorkflowTerminalLatencyMaxSeconds float64
// TaskAcceptToStartLatencySeconds 最近窗口任务受理到开始的平均耗时样本。
TaskAcceptToStartLatencySeconds float64
// TaskAcceptToStartLatencyMaxSeconds 最近窗口任务受理到开始的最大耗时样本。
TaskAcceptToStartLatencyMaxSeconds float64
// TaskAcceptToTerminalLatencySeconds 最近窗口任务受理到确定终态的平均耗时样本。
TaskAcceptToTerminalLatencySeconds float64
// TaskAcceptToTerminalLatencyMaxSeconds 最近窗口任务受理到确定终态的最大耗时样本。
TaskAcceptToTerminalLatencyMaxSeconds float64
// WorkflowStartToTerminalLatencySeconds 最近窗口流程开始到停止的平均耗时样本。
WorkflowStartToTerminalLatencySeconds float64
// WorkflowStartToTerminalLatencyMaxSeconds 最近窗口流程开始到停止的最大耗时样本。
WorkflowStartToTerminalLatencyMaxSeconds float64
}
// RecordBusinessSnapshot records one bounded database sample. A failed sample
@@ -77,6 +89,12 @@ func (r *Registry) RecordBusinessSnapshot(snapshot BusinessSnapshot, started tim
r.SetGauge("orbit_pulse_task_terminal_latency_max_seconds", snapshot.TaskTerminalLatencyMaxSeconds, nil)
r.SetGauge("orbit_weave_workflow_terminal_latency_seconds", snapshot.WorkflowTerminalLatencySeconds, nil)
r.SetGauge("orbit_weave_workflow_terminal_latency_max_seconds", snapshot.WorkflowTerminalLatencyMaxSeconds, nil)
r.SetGauge("orbit_pulse_task_accept_to_start_latency_seconds", snapshot.TaskAcceptToStartLatencySeconds, nil)
r.SetGauge("orbit_pulse_task_accept_to_start_latency_max_seconds", snapshot.TaskAcceptToStartLatencyMaxSeconds, nil)
r.SetGauge("orbit_pulse_task_accept_to_terminal_latency_seconds", snapshot.TaskAcceptToTerminalLatencySeconds, nil)
r.SetGauge("orbit_pulse_task_accept_to_terminal_latency_max_seconds", snapshot.TaskAcceptToTerminalLatencyMaxSeconds, nil)
r.SetGauge("orbit_weave_workflow_start_to_terminal_latency_seconds", snapshot.WorkflowStartToTerminalLatencySeconds, nil)
r.SetGauge("orbit_weave_workflow_start_to_terminal_latency_max_seconds", snapshot.WorkflowStartToTerminalLatencyMaxSeconds, nil)
r.SetGauge("orbit_pulse_tasks_oldest_age_seconds", snapshot.TaskOldestAgeSeconds, nil)
r.SetGauge("orbit_result_delivery_oldest_age_seconds", snapshot.DeliveryOldestAgeSeconds, nil)
r.SetGauge("orbit_weave_workflow_oldest_age_seconds", snapshot.WorkflowOldestAgeSeconds, nil)