mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30:23 +08:00
feat: 提前记录 pending 用量、优化流遥测时序与前端活跃请求发现机制
- 将 record_pending 调用移至执行开始前(sync/stream 两路),确保请求在执行前即有 pending 记录 - stream_pump 在收到第一个数据块前优先 yield 遥测帧,保证 ttfb 早于 data 帧到达 - stream execution 增加 should_refresh_stream_usage_telemetry,在遥测帧携带新 ttfb/elapsed 时及时更新 record_stream_started - access_log 对高频轮询路径(usage/active、usage/records 等)降级为 TRACE 日志,减少日志噪音 - 前端新增 reconcileActiveRequestDiscovery 工具函数及 discoverActiveRequests 逻辑,活跃请求发现与全局自动刷新解耦,空闲时降频为 5 秒扫描 - RequestDetailDrawer 调整:进行中请求不再自动开启轮询,由用户手动触发;刷新按钮 title 动态适配状态
This commit is contained in:
@@ -7,13 +7,13 @@ use crate::constants::{
|
||||
};
|
||||
use crate::control::GatewayControlDecision;
|
||||
use crate::control::GatewayPublicRequestContext;
|
||||
use crate::middleware::RequestLogEmitted;
|
||||
use crate::middleware::{should_downgrade_access_log, RequestLogEmitted};
|
||||
use crate::AppState;
|
||||
use aether_runtime::{maybe_hold_axum_response_permit, AdmissionPermit};
|
||||
use axum::body::{Body, Bytes};
|
||||
use axum::http::{self, header::HeaderName, header::HeaderValue, Response};
|
||||
use std::time::Instant;
|
||||
use tracing::{info, warn};
|
||||
use tracing::{info, trace, warn};
|
||||
|
||||
pub(super) fn request_wants_stream(
|
||||
request_context: &GatewayPublicRequestContext,
|
||||
@@ -113,6 +113,24 @@ pub(super) fn finalize_gateway_response(
|
||||
elapsed_ms,
|
||||
"gateway request failed"
|
||||
);
|
||||
} else if should_downgrade_access_log(method, path_and_query) {
|
||||
trace!(
|
||||
event_name = "http_request_completed",
|
||||
log_type = "access",
|
||||
status = "completed",
|
||||
status_code,
|
||||
trace_id = %trace_id,
|
||||
request_id,
|
||||
remote_addr = %remote_addr,
|
||||
method = %method,
|
||||
path = %path_and_query,
|
||||
route_class,
|
||||
execution_path,
|
||||
dependency_reason = dependency_reason.as_str(),
|
||||
local_execution_runtime_miss_reason = local_execution_runtime_miss_reason.as_str(),
|
||||
elapsed_ms,
|
||||
"gateway completed request"
|
||||
);
|
||||
} else {
|
||||
info!(
|
||||
event_name = "http_request_completed",
|
||||
|
||||
Reference in New Issue
Block a user