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 query sulle visualizzazioni INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_*, i risultati della query contengono una riga per ogni minuto di ogni prenotazione BigQuery negli ultimi 180 giorni e una riga per ogni minuto con modifiche alla prenotazione per eventuali occorrenze precedenti a 180 giorni. Ogni ciclo inizia su un minuto intero e dura esattamente un minuto.

La vista INFORMATION_SCHEMA.RESERVATIONS_TIMELINE_BY_PROJECT ha il seguente schema:

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, inclusa la condivisione degli slot. Se ignore_idle_slots è true, è uguale a slots_assigned, altrimenti corrisponde al 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:

  • current_slots: il numero di slot aggiunti alla prenotazione tramite scalabilità automatica.
  • max_slots: il numero massimo di slot che potrebbero essere aggiunti alla prenotazione tramite scalabilità automatica.
reservation_id STRING Per l'unione con la tabella job_timeline. 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 della regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RESERVATIONS_TIMELINE[_BY_PROJECT] Livello progetto REGION
Sostituisci quanto segue:

  • (Facoltativo) PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
di Gemini Advanced. + 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
Ad esempio, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_ORGANIZATION.

L'esempio seguente mostra l'utilizzo degli slot al minuto dai progetti assegnati a YOUR_RESERVATION_ID per 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         |
+-----------------------+----------------+---------------------+---------------+--------------------+