Skip to content

Commit c5c7248

Browse files
authored
Capture BQ Query Cost (#20124)
1 parent d1ae361 commit c5c7248

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

ingestion/src/metadata/ingestion/source/database/bigquery/queries.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
end_time,
3333
query as query_text,
3434
null as schema_name,
35-
total_slot_ms as duration
35+
total_slot_ms as duration,
36+
(total_bytes_billed / POWER(2, 40)) * {cost_per_tib} as cost
3637
FROM `region-{region}`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
3738
WHERE creation_time BETWEEN "{start_time}" AND "{end_time}"
3839
{filters}

ingestion/src/metadata/ingestion/source/database/bigquery/query_parser.py

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def get_sql_statement(self, start_time: datetime, end_time: datetime) -> str:
6666
region=self.service_connection.usageLocation,
6767
filters=self.get_filters(),
6868
result_limit=self.source_config.resultLimit,
69+
cost_per_tib=self.service_connection.costPerTB,
6970
)
7071

7172
@staticmethod

openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/bigQueryConnection.json

+6
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@
116116
"supportsDataDiff": {
117117
"title": "Supports Data Diff Extraction.",
118118
"$ref": "../connectionBasicType.json#/definitions/supportsDataDiff"
119+
},
120+
"costPerTB": {
121+
"title": "Cost Per TiB",
122+
"description": "Cost per TiB for BigQuery usage",
123+
"type": "number",
124+
"default": 6.25
119125
}
120126
},
121127
"additionalProperties": false,

openmetadata-ui/src/main/resources/ui/src/generated/entity/services/connections/database/bigQueryConnection.ts

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
export interface BigQueryConnection {
1717
connectionArguments?: { [key: string]: any };
1818
connectionOptions?: { [key: string]: string };
19+
/**
20+
* Cost per TiB for BigQuery usage
21+
*/
22+
costPerTB?: number;
1923
/**
2024
* GCP Credentials
2125
*/

0 commit comments

Comments
 (0)