mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-12 06:00:20 +08:00
fix(usage): bound terminal event persistence
Add end-to-end terminal admission, bounded database fallback, and observable overload handling. Preserve first-byte lifecycle state across asynchronous runtime and frontend updates.
This commit is contained in:
@@ -5255,16 +5255,12 @@ async fn execute_stream_from_frame_stream(
|
||||
telemetry.as_ref(),
|
||||
&mut usage_stream_telemetry,
|
||||
) {
|
||||
let usage_data = state_for_report.data.as_ref().clone();
|
||||
state_for_report
|
||||
.usage_runtime
|
||||
.record_stream_started_direct(
|
||||
&usage_data,
|
||||
&lifecycle_seed_for_report,
|
||||
status_code,
|
||||
usage_stream_telemetry.as_ref(),
|
||||
)
|
||||
.await;
|
||||
state_for_report.usage_runtime.record_stream_started(
|
||||
state_for_report.data.as_ref(),
|
||||
&lifecycle_seed_for_report,
|
||||
status_code,
|
||||
usage_stream_telemetry.as_ref(),
|
||||
);
|
||||
}
|
||||
let first_data_after = usage_stream_telemetry
|
||||
.as_ref()
|
||||
@@ -5463,25 +5459,9 @@ async fn execute_stream_from_frame_stream(
|
||||
&usage_frame_telemetry,
|
||||
);
|
||||
if should_refresh_stream_usage {
|
||||
if usage_frame_telemetry.ttfb_ms.is_some() {
|
||||
let usage_data = state_for_report.data.as_ref().clone();
|
||||
state_for_report
|
||||
.usage_runtime
|
||||
.record_stream_started_direct(
|
||||
&usage_data,
|
||||
&lifecycle_seed_for_report,
|
||||
status_code,
|
||||
Some(&usage_frame_telemetry),
|
||||
)
|
||||
.await;
|
||||
} else {
|
||||
state_for_report.usage_runtime.record_stream_started(
|
||||
state_for_report.data.as_ref(),
|
||||
&lifecycle_seed_for_report,
|
||||
status_code,
|
||||
Some(&usage_frame_telemetry),
|
||||
);
|
||||
}
|
||||
// The first Data frame records the live streaming transition. Later
|
||||
// telemetry frames only refine the terminal accumulator; persisting
|
||||
// every elapsed-time update would create one usage task per frame.
|
||||
usage_stream_telemetry = Some(usage_frame_telemetry);
|
||||
}
|
||||
telemetry = Some(frame_telemetry);
|
||||
|
||||
Reference in New Issue
Block a user