tracing_gcloud_layer/
utils.rs

1use std::time::{SystemTime, SystemTimeError};
2
3use serde_json::Value;
4
5#[inline]
6pub fn get_severity(log_entry: &Value) -> Value {
7    log_entry
8        .get("severity")
9        .cloned()
10        .unwrap_or_else(|| "DEFAULT".into())
11}
12
13pub fn extract_trace_id(log_entry: &Value) -> Option<Value> {
14    log_entry
15        .get("span")
16        .and_then(|v| v.get("trace_id"))
17        .cloned()
18}
19
20#[inline]
21pub fn timestamp() -> Result<u64, SystemTimeError> {
22    Ok(SystemTime::now()
23        .duration_since(SystemTime::UNIX_EPOCH)?
24        .as_secs())
25}