[Carol] Exibição de Jobs em Execução na UI
Description
Motivação:
Atualmente, quando um usuário executa uma query no editor, ele não consegue visualizar as queries que estão em execução. Isso dificulta o acompanhamento do progresso e a identificação de possíveis gargalos ou execuções indevidas.
Objetivo:
Implementar a exibição do histórico de jobs do BigQuery na UI, incluindo:
-
Listagem dos jobs em execução.
-
Exibição do usuário que iniciou a execução.
-
Opção para cancelamento de jobs diretamente pela interface.
-
Link para o execution plan para jobs já concluídos.
Query:
SELECT
creation_time, /* destaque */
timestamp_diff(end_time, creation_time, SECOND) took, /* destaque */
timestamp_diff(creation_time, start_time, SECOND) waiting_time,
(total_slot_ms/1000) slotSeconds, /* destaque */
error_result.reason as error_reason,
cache_hit,
query,
job_id,
state, /* destaque */
reservation_id,
user_email, /* destaque */
job_type,
labels /* destaque label source / requestor para looker */
FROM `region-us`.INFORMATION_SCHEMA.JOBS
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 3 DAY)
ORDER BY creation_time DESC;
Critérios de Aceitação:
-
O usuário deve conseguir visualizar todos os jobs que estão em execução no projeto atual.
-
A listagem deve exibir informações como ID do job, status, tempo de execução e usuário responsável.
-
Deve existir um botão para cancelar a execução de um job em andamento
-
O histórico deve ter um refresh periódico.
-
Para jobs concluídos, permitir navegar para execution plan.
-
Respeitar permissões e regras de acesso do BigQuery ao permitir o cancelamento de jobs.