llm_shield_cloud_gcp/
observability_stub.rs1use async_trait::async_trait;
7use llm_shield_cloud::error::{CloudError, Result};
8use llm_shield_cloud::observability::{CloudLogger, CloudMetrics, CloudTracer, LogEntry, LogLevel, Metric, Span};
9
10pub struct GcpCloudMonitoring;
12
13impl GcpCloudMonitoring {
14 pub async fn new(_project_id: impl Into<String>) -> Result<Self> {
16 Ok(Self)
17 }
18}
19
20#[async_trait]
21impl CloudMetrics for GcpCloudMonitoring {
22 async fn export_metrics(&self, _metrics: &[Metric]) -> Result<()> {
23 Err(CloudError::OperationFailed(
24 "GCP Cloud Monitoring not implemented - SDK API breaking changes".to_string(),
25 ))
26 }
27}
28
29pub struct GcpCloudLogging;
31
32impl GcpCloudLogging {
33 pub async fn new(_project_id: impl Into<String>, _log_name: impl Into<String>) -> Result<Self> {
35 Ok(Self)
36 }
37}
38
39#[async_trait]
40impl CloudLogger for GcpCloudLogging {
41 async fn log(&self, _message: &str, _level: LogLevel) -> Result<()> {
42 Err(CloudError::OperationFailed(
43 "GCP Cloud Logging not implemented - SDK API breaking changes".to_string(),
44 ))
45 }
46
47 async fn log_structured(&self, _entry: &LogEntry) -> Result<()> {
48 Err(CloudError::OperationFailed(
49 "GCP Cloud Logging not implemented - SDK API breaking changes".to_string(),
50 ))
51 }
52}
53
54pub struct GcpCloudTracer;
56
57#[async_trait]
58impl CloudTracer for GcpCloudTracer {
59 async fn end_span(&self, _span: Span) -> Result<()> {
60 Err(CloudError::OperationFailed(
61 "GCP Cloud Tracing not implemented - SDK API breaking changes".to_string(),
62 ))
63 }
64}