Visualizzazione RESERVATIONS_TIMELINE
La visualizzazione INFORMATION_SCHEMA.RESERVATIONS_TIMELINE
viene mostrata quasi in tempo reale
licenze temporali dei metadati della prenotazione per ogni progetto di amministrazione della prenotazione per ogni
minuto. Per confrontare l'utilizzo degli slot con la capacità degli slot, puoi combinare
le informazioni sulla prenotazione con la sequenza temporale dei job utilizzando
visualizzazione della cronologia delle prenotazioni.
Schema
Quando esegui una query sulle viste INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*
, la query
contengono una riga per ogni minuto di ogni
negli ultimi 180 giorni e una riga per ogni minuto con prenotazione
modifiche per qualsiasi occorrenza più vecchia di 180 giorni. Ogni periodo inizia con un intervallo di un minuto intero e dura esattamente un minuto.
La vista INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT
ha lo schema seguente:
Nome colonna | Tipo di dati | Valore |
---|---|---|
period_start |
TIMESTAMP |
Ora di inizio di questo periodo di un minuto. |
project_id |
STRING |
ID del progetto amministratore della prenotazione. |
project_number |
INTEGER |
Numero del progetto. |
reservation_name |
STRING |
Il nome della prenotazione. |
ignore_idle_slots |
BOOL |
False se la condivisione degli slot è abilitata, altrimenti true. |
slots_assigned |
INTEGER |
Il numero di slot assegnati a questa prenotazione. |
slots_max_assigned |
INTEGER |
La capacità massima di slot per questa prenotazione, slot incluso
condivisione. Se ignore_idle_slots è True, corrisponde a slots_assigned , altrimenti si tratta del numero totale di slot in tutti gli impegni di capacità nel progetto amministratore. |
autoscale |
STRUCT |
Informazioni sulla capacità di scalabilità automatica della prenotazione. Sono inclusi i seguenti campi:
|
reservation_id |
STRING |
Per l'unione con la tabella jobs_timeline. Deve avere il formato project_id:location.reservation_name. |
Ambito e sintassi
Le query relative a questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutti regioni. La tabella seguente spiega l'ambito della regione e delle risorse per questa visualizzazione:
Nome vista | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] |
Livello progetto | REGION |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
REGION
: qualsiasi nome della regione del set di dati. Ad esempio:`region-us`
.
Esempi
Esempio: vedi l'utilizzo totale degli slot al minuto
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi ID progetto nel seguente formato:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
`myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION
.
L'esempio seguente mostra l'utilizzo degli slot al minuto dei progetti assegnati a
YOUR_RESERVATION_ID
in tutti i job:
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;
Il risultato è simile al seguente:
+-----------------------+---------------------+---------------+-------------------+ | 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 | +-----------------------+---------------------+---------------+-------------------+
Esempio: utilizzo degli slot per prenotazione
L'esempio seguente mostra l'utilizzo degli slot al minuto per ogni prenotazione nella ultimo giorno:
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;
Il risultato è simile al seguente:
+-----------------------+----------------+---------------------+---------------+--------------------+ | 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 | +-----------------------+----------------+---------------------+---------------+--------------------+