Tampilan RESERVATIONS_TIMELINE
Tampilan INFORMATION_SCHEMA.RESERVATIONS_TIMELINE
menunjukkan timeslice metadata pemesanan yang mendekati real-time untuk setiap project admin pemesanan untuk setiap
menit. Untuk membandingkan penggunaan slot dengan kapasitas slot, Anda dapat menggabungkan
informasi reservasi dengan linimasa tugas menggunakan
tampilan linimasa pemesanan.
Skema
Saat Anda membuat kueri tampilan INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*
, hasil kueri akan berisi satu baris untuk setiap menit dari setiap reservasi BigQuery dalam 180 hari terakhir, dan satu baris untuk setiap menit dengan perubahan reservasi untuk setiap kemunculan yang lebih lama dari 180 hari. Setiap periode dimulai pada interval satu menit penuh dan berlangsung tepat satu menit.
Tampilan INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT
memiliki skema berikut:
Nama kolom | Jenis data | Nilai |
---|---|---|
period_start |
TIMESTAMP |
Waktu mulai periode satu menit ini. |
project_id |
STRING |
ID project admin pemesanan. |
project_number |
INTEGER |
Nomor project. |
reservation_name |
STRING |
Nama pemesanan. |
ignore_idle_slots |
BOOL |
False (salah) jika berbagi slot diaktifkan, jika tidak, true (benar). |
slots_assigned |
INTEGER |
Jumlah slot yang ditetapkan untuk pemesanan ini. |
slots_max_assigned |
INTEGER |
Kapasitas slot maksimum untuk pemesanan ini, termasuk berbagi slot. Jika ignore_idle_slots bernilai benar, ini sama dengan slots_assigned . Jika tidak, ini adalah jumlah total slot dalam semua komitmen kapasitas dalam project admin. |
autoscale |
STRUCT |
Informasi tentang kapasitas penskalaan otomatis pemesanan Kolom mencakup:
|
reservation_id |
STRING |
Untuk bergabung dengan tabel jobs_timeline. Kolom ini memiliki format project_id:location.reservation_name. |
Cakupan dan sintaksis
Kueri terhadap tabel virtual ini harus menyertakan penentu region. Jika Anda tidak menentukan penentu regional, metadata akan diambil dari semua region. Tabel berikut menjelaskan cakupan region dan resource untuk tampilan ini:
Nama tampilan | Cakupan resource | Cakupan region |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] |
Level project | REGION |
Opsional: PROJECT_ID
: ID project Google Cloud Anda. Jika tidak ditentukan, project default akan digunakan.
REGION
: nama region set data apa pun.
Misalnya, `region-us`
.
Contoh
Contoh: Lihat total penggunaan slot per menit
Untuk menjalankan kueri terhadap project selain project default Anda, tambahkan project ID dalam format berikut:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
`myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
.
Contoh berikut menunjukkan penggunaan slot per menit dari project yang ditetapkan ke
YOUR_RESERVATION_ID
di semua tugas:
SELECT res.period_start, SUM(jobs.period_slot_ms) / 1000 / 60 AS period_slot_minutes, ANY_VALUE(res.slots_assigned) AS slot_assigned, ANY_VALUE(res.slots_max_assigned) AS slots_max_assigned FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION jobs JOIN `region-us`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE res ON TIMESTAMP_TRUNC(jobs.period_start, MINUTE) = res.period_start AND jobs.reservation_id = res.reservation_id WHERE jobs.job_creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) AND CURRENT_TIMESTAMP() AND res.reservation_id = 'YOUR_RESERVATION_ID' AND (jobs.statement_type != "SCRIPT" OR jobs.statement_type IS NULL) -- Avoid duplicate byte counting in parent and children jobs. GROUP BY period_start ORDER BY period_start DESC;
Hasilnya mirip dengan berikut ini:
+-----------------------+---------------------+---------------+-------------------+ | period_start | period_slot_minutes | slots_assigned| slots_max_assigned| +-----------------------+---------------------+---------------+-------------------+ |2021-06-08 21:33:00 UTC| 100.000 | 100 | 100 | |2021-06-08 21:32:00 UTC| 96.753 | 100 | 100 | |2021-06-08 21:31:00 UTC| 41.668 | 100 | 100 | +-----------------------+---------------------+---------------+-------------------+
Contoh: Penggunaan slot berdasarkan pemesanan
Contoh berikut menunjukkan penggunaan slot per menit untuk setiap pemesanan dalam satu hari terakhir:
SELECT res.period_start, res.reservation_id, SUM(jobs.period_slot_ms) / 1000 / 60 AS period_slot_minutes, ANY_VALUE(res.slots_assigned) AS slots_assigned, ANY_VALUE(res.slots_max_assigned) AS slots_max_assigned, FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION jobs JOIN `region-us`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE res ON TIMESTAMP_TRUNC(jobs.period_start, MINUTE) = res.period_start AND jobs.reservation_id = res.reservation_id WHERE jobs.job_creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) AND CURRENT_TIMESTAMP() AND (jobs.statement_type != "SCRIPT" OR jobs.statement_type IS NULL) -- Avoid duplicate byte counting in parent and children jobs. GROUP BY period_start, reservation_id ORDER BY period_start DESC, reservation_id;
Hasilnya mirip dengan berikut ini:
+-----------------------+----------------+---------------------+---------------+--------------------+ | period_start | reservation_id | period_slot_minutes | slot_assigned | slots_max_assigned | +-----------------------+----------------+---------------------+---------------+--------------------+ |2021-06-08 21:33:00 UTC| prod01 | 100.000 | 100 | 100 | |2021-06-08 21:33:00 UTC| prod02 | 177.201 | 200 | 500 | |2021-06-08 21:32:00 UTC| prod01 | 96.753 | 100 | 100 | |2021-06-08 21:32:00 UTC| prod02 | 182.329 | 200 | 500 | +-----------------------+----------------+---------------------+---------------+--------------------+