refactor: extract platform image provider
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
use axum::http::StatusCode;
|
||||
use platform_image::PlatformImageFailureAudit;
|
||||
use module_runtime::RuntimeTrackingScopeKind;
|
||||
use serde_json::{Value, json};
|
||||
use time::OffsetDateTime;
|
||||
@@ -109,6 +110,28 @@ impl ExternalApiFailureDraft {
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn build_external_api_failure_draft_from_platform_image_audit(
|
||||
audit: &PlatformImageFailureAudit,
|
||||
) -> ExternalApiFailureDraft {
|
||||
ExternalApiFailureDraft::new(
|
||||
audit.provider,
|
||||
audit.endpoint.clone(),
|
||||
audit.operation.clone(),
|
||||
audit.failure_stage,
|
||||
audit.error_message.clone(),
|
||||
)
|
||||
.with_status_code(audit.status_code)
|
||||
.with_optional_status_class(audit.status_class)
|
||||
.with_timeout(audit.timeout)
|
||||
.with_retryable(audit.retryable)
|
||||
.with_error_source(audit.error_source.clone())
|
||||
.with_raw_excerpt(audit.raw_excerpt.clone())
|
||||
.with_latency_ms(audit.latency_ms)
|
||||
.with_prompt_chars(audit.prompt_chars)
|
||||
.with_reference_image_count(audit.reference_image_count)
|
||||
.with_image_model(audit.image_model)
|
||||
}
|
||||
|
||||
/// 中文注释:下载图片、OSS 读写等非标准 HTTP 状态统一显式归类,避免 OTLP 低基数 label 误落到 `transport`。
|
||||
pub(crate) fn app_error_status_class(status_code: StatusCode) -> &'static str {
|
||||
status_class(Some(status_code.as_u16()))
|
||||
|
||||
Reference in New Issue
Block a user