mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30: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")
|
.try_get::<f64, _>("cache_read_cost_usd")
|
||||||
.map_postgres_err()?;
|
.map_postgres_err()?;
|
||||||
usage.output_price_per_1m = row.try_get("output_price_per_1m").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()?;
|
usage.request_headers = row.try_get("request_headers").map_postgres_err()?;
|
||||||
let request_body = usage_json_column(
|
let request_body = usage_json_column(
|
||||||
row,
|
row,
|
||||||
|
|||||||
@@ -93,6 +93,10 @@ SELECT
|
|||||||
"usage".first_byte_time_ms,
|
"usage".first_byte_time_ms,
|
||||||
"usage".status,
|
"usage".status,
|
||||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_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,
|
COALESCE(usage_http_audits.request_headers, "usage".request_headers) AS request_headers,
|
||||||
"usage".request_body,
|
"usage".request_body,
|
||||||
"usage".request_body_compressed,
|
"usage".request_body_compressed,
|
||||||
|
|||||||
@@ -93,6 +93,10 @@ SELECT
|
|||||||
"usage".first_byte_time_ms,
|
"usage".first_byte_time_ms,
|
||||||
"usage".status,
|
"usage".status,
|
||||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_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,
|
COALESCE(usage_http_audits.request_headers, "usage".request_headers) AS request_headers,
|
||||||
"usage".request_body,
|
"usage".request_body,
|
||||||
"usage".request_body_compressed,
|
"usage".request_body_compressed,
|
||||||
|
|||||||
@@ -93,6 +93,10 @@ SELECT
|
|||||||
"usage".first_byte_time_ms,
|
"usage".first_byte_time_ms,
|
||||||
"usage".status,
|
"usage".status,
|
||||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_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_headers,
|
||||||
NULL::json AS request_body,
|
NULL::json AS request_body,
|
||||||
NULL::bytea AS request_body_compressed,
|
NULL::bytea AS request_body_compressed,
|
||||||
|
|||||||
@@ -93,6 +93,10 @@ SELECT
|
|||||||
"usage".first_byte_time_ms,
|
"usage".first_byte_time_ms,
|
||||||
"usage".status,
|
"usage".status,
|
||||||
COALESCE(usage_settlement_snapshots.billing_status, "usage".billing_status) AS billing_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_headers,
|
||||||
NULL::json AS request_body,
|
NULL::json AS request_body,
|
||||||
NULL::bytea AS request_body_compressed,
|
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("request_metadata->>'client_ip'"));
|
||||||
assert!(sql.contains("'user_agent'"));
|
assert!(sql.contains("'user_agent'"));
|
||||||
assert!(sql.contains("request_metadata->>'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("CAST(\"usage\".input_tokens AS INTEGER) AS input_tokens"));
|
||||||
assert!(sql.contains(
|
assert!(sql.contains(
|
||||||
"usage_settlement_snapshots.billing_input_tokens AS settlement_billing_input_tokens"
|
"usage_settlement_snapshots.billing_input_tokens AS settlement_billing_input_tokens"
|
||||||
|
|||||||
Reference in New Issue
Block a user