[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:

  1. Listagem dos jobs em execução.

  2. Exibição do usuário que iniciou a execução.

  3. Opção para cancelamento de jobs diretamente pela interface.

  4. 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.JOBSWHERE 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.