mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
Project usage client family in Postgres reads
This commit is contained in:
@@ -8543,6 +8543,9 @@ fn map_usage_row(
|
||||
.try_get::<f64, _>("cache_read_cost_usd")
|
||||
.map_postgres_err()?;
|
||||
usage.output_price_per_1m = row.try_get("output_price_per_1m").map_postgres_err()?;
|
||||
usage.client_family = row
|
||||
.try_get::<Option<String>, _>("client_family")
|
||||
.map_postgres_err()?;
|
||||
usage.request_headers = row.try_get("request_headers").map_postgres_err()?;
|
||||
let request_body = usage_json_column(
|
||||
row,
|
||||
|
||||
@@ -93,6 +93,10 @@ SELECT
|
||||
"usage".first_byte_time_ms,
|
||||
"usage".status,
|
||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_status,
|
||||
COALESCE(
|
||||
NULLIF(BTRIM("usage".request_metadata->'client_session_affinity'->>'client_family'), ''),
|
||||
NULLIF(BTRIM("usage".request_metadata->>'client_family'), '')
|
||||
) AS client_family,
|
||||
COALESCE(usage_http_audits.request_headers, "usage".request_headers) AS request_headers,
|
||||
"usage".request_body,
|
||||
"usage".request_body_compressed,
|
||||
|
||||
@@ -93,6 +93,10 @@ SELECT
|
||||
"usage".first_byte_time_ms,
|
||||
"usage".status,
|
||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_status,
|
||||
COALESCE(
|
||||
NULLIF(BTRIM("usage".request_metadata->'client_session_affinity'->>'client_family'), ''),
|
||||
NULLIF(BTRIM("usage".request_metadata->>'client_family'), '')
|
||||
) AS client_family,
|
||||
COALESCE(usage_http_audits.request_headers, "usage".request_headers) AS request_headers,
|
||||
"usage".request_body,
|
||||
"usage".request_body_compressed,
|
||||
|
||||
@@ -93,6 +93,10 @@ SELECT
|
||||
"usage".first_byte_time_ms,
|
||||
"usage".status,
|
||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_status,
|
||||
COALESCE(
|
||||
NULLIF(BTRIM("usage".request_metadata->'client_session_affinity'->>'client_family'), ''),
|
||||
NULLIF(BTRIM("usage".request_metadata->>'client_family'), '')
|
||||
) AS client_family,
|
||||
NULL::json AS request_headers,
|
||||
NULL::json AS request_body,
|
||||
NULL::bytea AS request_body_compressed,
|
||||
|
||||
@@ -93,6 +93,10 @@ SELECT
|
||||
"usage".first_byte_time_ms,
|
||||
"usage".status,
|
||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_status,
|
||||
COALESCE(
|
||||
NULLIF(BTRIM("usage".request_metadata->'client_session_affinity'->>'client_family'), ''),
|
||||
NULLIF(BTRIM("usage".request_metadata->>'client_family'), '')
|
||||
) AS client_family,
|
||||
NULL::json AS request_headers,
|
||||
NULL::json AS request_body,
|
||||
NULL::bytea AS request_body_compressed,
|
||||
|
||||
@@ -628,6 +628,9 @@ fn usage_sql_uses_json_null_placeholders_for_usage_payload_columns() {
|
||||
assert!(sql.contains("request_metadata->>'client_ip'"));
|
||||
assert!(sql.contains("'user_agent'"));
|
||||
assert!(sql.contains("request_metadata->>'user_agent'"));
|
||||
assert!(sql.contains("AS client_family"));
|
||||
assert!(sql.contains("request_metadata->'client_session_affinity'->>'client_family'"));
|
||||
assert!(sql.contains("request_metadata->>'client_family'"));
|
||||
assert!(sql.contains("CAST(\"usage\".input_tokens AS INTEGER) AS input_tokens"));
|
||||
assert!(sql.contains(
|
||||
"usage_settlement_snapshots.billing_input_tokens AS settlement_billing_input_tokens"
|
||||
|
||||
Reference in New Issue
Block a user