blob: 14963a63a00d520e3a1a3d4b64763196134d5f66 [file]
--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file--
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"). You may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--
-- Note: Database and schema creation is not included in this script. Please create the database and
-- schema before running this script. for example in psql:
-- CREATE DATABASE example_db;
-- \c example_db
-- CREATE SCHEMA example_schema;
-- set search_path to example_schema;
CREATE TABLE commit_metrics_report (
id BIGSERIAL PRIMARY KEY,
timestamp BIGINT NOT NULL,
namespace VARCHAR(1024) NOT NULL,
table_name VARCHAR(255) NOT NULL,
snapshot_id BIGINT NOT NULL,
sequence_number BIGINT NOT NULL,
operation VARCHAR(50) NOT NULL,
added_data_files BIGINT DEFAULT 0,
removed_data_files BIGINT DEFAULT 0,
total_data_files BIGINT DEFAULT 0,
added_delete_files BIGINT DEFAULT 0,
added_equality_delete_files BIGINT DEFAULT 0,
added_positional_delete_files BIGINT DEFAULT 0,
removed_delete_files BIGINT DEFAULT 0,
removed_equality_delete_files BIGINT DEFAULT 0,
removed_positional_delete_files BIGINT DEFAULT 0,
total_delete_files BIGINT DEFAULT 0,
added_records BIGINT DEFAULT 0,
removed_records BIGINT DEFAULT 0,
total_records BIGINT DEFAULT 0,
added_files_size_in_bytes BIGINT DEFAULT 0,
removed_files_size_in_bytes BIGINT DEFAULT 0,
total_files_size_in_bytes BIGINT DEFAULT 0,
added_positional_deletes BIGINT DEFAULT 0,
removed_positional_deletes BIGINT DEFAULT 0,
total_positional_deletes BIGINT DEFAULT 0,
added_equality_deletes BIGINT DEFAULT 0,
removed_equality_deletes BIGINT DEFAULT 0,
total_equality_deletes BIGINT DEFAULT 0,
manifests_created BIGINT DEFAULT 0,
manifests_replaced BIGINT DEFAULT 0,
manifests_kept BIGINT DEFAULT 0,
manifest_entries_processed BIGINT DEFAULT 0,
added_dvs BIGINT DEFAULT 0,
removed_dvs BIGINT DEFAULT 0,
total_duration_ms BIGINT DEFAULT 0,
attempts BIGINT DEFAULT 1,
metadata TEXT
);
CREATE INDEX idx_commit_report ON commit_metrics_report (timestamp, namespace, table_name);
COMMENT ON TABLE commit_metrics_report IS 'Table for storing commit metrics information';
COMMENT ON COLUMN commit_metrics_report.timestamp IS 'Timestamp in milliseconds';
COMMENT ON COLUMN commit_metrics_report.namespace IS 'Namespace of the table';
COMMENT ON COLUMN commit_metrics_report.table_name IS 'Table name';
COMMENT ON COLUMN commit_metrics_report.snapshot_id IS 'Snapshot identifier';
COMMENT ON COLUMN commit_metrics_report.operation IS 'Operation type (APPEND, OVERWRITE, etc)';
COMMENT ON COLUMN commit_metrics_report.metadata IS 'Additional metadata in JSON format';
COMMENT ON COLUMN commit_metrics_report.total_duration_ms IS 'Total operation duration in milliseconds';
COMMENT ON COLUMN commit_metrics_report.attempts IS 'Number of attempts';
COMMENT ON COLUMN commit_metrics_report.added_data_files IS 'Number of added data files';
COMMENT ON COLUMN commit_metrics_report.removed_data_files IS 'Number of removed data files';
COMMENT ON COLUMN commit_metrics_report.total_data_files IS 'Total number of data files';
COMMENT ON COLUMN commit_metrics_report.added_delete_files IS 'Number of added delete files';
COMMENT ON COLUMN commit_metrics_report.added_equality_delete_files IS 'Number of added equality delete files';
COMMENT ON COLUMN commit_metrics_report.added_positional_delete_files IS 'Number of added positional delete files';
COMMENT ON COLUMN commit_metrics_report.removed_delete_files IS 'Number of removed delete files';
COMMENT ON COLUMN commit_metrics_report.removed_equality_delete_files IS 'Number of removed equality delete files';
COMMENT ON COLUMN commit_metrics_report.removed_positional_delete_files IS 'Number of removed positional delete files';
COMMENT ON COLUMN commit_metrics_report.total_delete_files IS 'Total number of delete files';
COMMENT ON COLUMN commit_metrics_report.added_records IS 'Number of added records';
COMMENT ON COLUMN commit_metrics_report.removed_records IS 'Number of removed records';
COMMENT ON COLUMN commit_metrics_report.total_records IS 'Total number of records';
COMMENT ON COLUMN commit_metrics_report.added_files_size_in_bytes IS 'Size of added files in bytes';
COMMENT ON COLUMN commit_metrics_report.removed_files_size_in_bytes IS 'Size of removed files in bytes';
COMMENT ON COLUMN commit_metrics_report.total_files_size_in_bytes IS 'Total file size in bytes';
COMMENT ON COLUMN commit_metrics_report.added_positional_deletes IS 'Number of added positional deletes';
COMMENT ON COLUMN commit_metrics_report.removed_positional_deletes IS 'Number of removed positional deletes';
COMMENT ON COLUMN commit_metrics_report.total_positional_deletes IS 'Total number of positional deletes';
COMMENT ON COLUMN commit_metrics_report.added_equality_deletes IS 'Number of added equality deletes';
COMMENT ON COLUMN commit_metrics_report.removed_equality_deletes IS 'Number of removed equality deletes';
COMMENT ON COLUMN commit_metrics_report.total_equality_deletes IS 'Total number of equality deletes';
COMMENT ON COLUMN commit_metrics_report.manifests_created IS 'Number of manifests created';
COMMENT ON COLUMN commit_metrics_report.manifests_replaced IS 'Number of manifests replaced';
COMMENT ON COLUMN commit_metrics_report.manifests_kept IS 'Number of manifests kept';
COMMENT ON COLUMN commit_metrics_report.manifest_entries_processed IS 'Number of manifest entries processed';
COMMENT ON COLUMN commit_metrics_report.added_dvs IS 'Number of added delete vectors';
COMMENT ON COLUMN commit_metrics_report.removed_dvs IS 'Number of removed delete vectors';
COMMENT ON COLUMN commit_metrics_report.total_duration_ms IS 'Total operation duration in milliseconds';
COMMENT ON COLUMN commit_metrics_report.attempts IS 'Number of attempts';
COMMENT ON COLUMN commit_metrics_report.metadata IS 'Additional metadata in JSON format';
CREATE TABLE scan_metrics_report (
id BIGSERIAL PRIMARY KEY,
timestamp BIGINT NOT NULL,
namespace VARCHAR(1024) NOT NULL,
table_name VARCHAR(255) NOT NULL,
snapshot_id BIGINT,
schema_id BIGINT,
filter TEXT,
metadata TEXT,
projected_field_ids TEXT,
projected_field_names TEXT,
equality_delete_files BIGINT DEFAULT 0,
indexed_delete_files BIGINT DEFAULT 0,
positional_delete_files BIGINT DEFAULT 0,
result_data_files BIGINT DEFAULT 0,
result_delete_files BIGINT DEFAULT 0,
scanned_data_manifests BIGINT DEFAULT 0,
scanned_delete_manifests BIGINT DEFAULT 0,
skipped_data_files BIGINT DEFAULT 0,
skipped_data_manifests BIGINT DEFAULT 0,
skipped_delete_files BIGINT DEFAULT 0,
skipped_delete_manifests BIGINT DEFAULT 0,
total_data_manifests BIGINT DEFAULT 0,
total_delete_file_size_in_bytes BIGINT DEFAULT 0,
total_delete_manifests BIGINT DEFAULT 0,
total_file_size_in_bytes BIGINT DEFAULT 0,
total_planning_duration BIGINT DEFAULT 0
);
CREATE INDEX idx_scan_report ON scan_metrics_report (timestamp, namespace, table_name);
COMMENT ON TABLE scan_metrics_report IS 'Table for storing scan metrics information';
COMMENT ON COLUMN scan_metrics_report.timestamp IS 'Timestamp in milliseconds';
COMMENT ON COLUMN scan_metrics_report.namespace IS 'Namespace of the table';
COMMENT ON COLUMN scan_metrics_report.table_name IS 'Table name';
COMMENT ON COLUMN scan_metrics_report.snapshot_id IS 'Snapshot identifier';
COMMENT ON COLUMN scan_metrics_report.schema_id IS 'Schema identifier';
COMMENT ON COLUMN scan_metrics_report.filter IS 'Filter condition applied during scan';
COMMENT ON COLUMN scan_metrics_report.metadata IS 'Additional metadata in JSON format';
COMMENT ON COLUMN scan_metrics_report.projected_field_ids IS 'List of projected field IDs';
COMMENT ON COLUMN scan_metrics_report.projected_field_names IS 'List of projected field names';
COMMENT ON COLUMN scan_metrics_report.equality_delete_files IS 'Number of equality delete files';
COMMENT ON COLUMN scan_metrics_report.indexed_delete_files IS 'Number of indexed delete files';
COMMENT ON COLUMN scan_metrics_report.positional_delete_files IS 'Number of positional delete files';
COMMENT ON COLUMN scan_metrics_report.result_data_files IS 'Number of data files processed';
COMMENT ON COLUMN scan_metrics_report.result_delete_files IS 'Number of delete files processed';
COMMENT ON COLUMN scan_metrics_report.scanned_data_manifests IS 'Number of data manifests scanned';
COMMENT ON COLUMN scan_metrics_report.scanned_delete_manifests IS 'Number of delete manifests scanned';
COMMENT ON COLUMN scan_metrics_report.skipped_data_files IS 'Number of data files skipped';
COMMENT ON COLUMN scan_metrics_report.skipped_data_manifests IS 'Number of data manifests skipped';
COMMENT ON COLUMN scan_metrics_report.skipped_delete_files IS 'Number of delete files skipped';
COMMENT ON COLUMN scan_metrics_report.skipped_delete_manifests IS 'Number of delete manifests skipped';
COMMENT ON COLUMN scan_metrics_report.total_data_manifests IS 'Total number of data manifests';
COMMENT ON COLUMN scan_metrics_report.total_delete_file_size_in_bytes IS 'Total size of delete files in bytes';
COMMENT ON COLUMN scan_metrics_report.total_delete_manifests IS 'Total number of delete manifests';
COMMENT ON COLUMN scan_metrics_report.total_file_size_in_bytes IS 'Total file size in bytes';
COMMENT ON COLUMN scan_metrics_report.total_planning_duration IS 'Total planning duration in milliseconds';