Ir para o conteúdo principal

[Mr. Day] Teste de carga da API do Google para gerar o erro "Calendar usage limits exceeded"

Data de elaboração 11/07/2022
Responsável pelo estudo

Gabriel Santi Binda

Raissa de Sousa Stolduski
Taillon Miguel Gonçalves

Vinicius da Rosa Pereira
Ádelle Camarão Monteiro

Equipe do estudo Tambakiss
Alvo Mr.Day
Origem

O objetivo estratégico de termos uma forma de reproduzir o erro intermitente na API do Google para assim, podermos validar possíveis melhorias e correções originadas pelo erro.

Objetivo Analisar a possibilidade de montar um teste de carga da API do Google para reproduzir o erro "Calendar usage limits exceeded" no Mr. Day.
Documentação correlata (opcional)

 

Observações

1. Introdução

Dentro deste estudo, será identificado o que precisa ser desenvolvido afim de que seja alcançado o objetivo.

2. Desenvolvimento

2.1 Qual o motivo do erro?

Conforme link, "para prevenir spam, Google definiu alguns limites de uso para calendário. Os limites são definidos acima do nível normal de uso dos usuários típicos do calendário. Se os limites são excedidos, o calendário vai automaticamente para o modo somente leitura. O modo somente leitura não permite que o usuário crie ou altere eventos".

2.2 Quais as possíveis formas de reproduzir

  • Criando novos eventos: Se criar mais de 1.000.000 eventos no curto período de tempo, você pode perder a capacidade de editar por algumas horas.
  • Criando novos calendários: Se criar mais de 60 calendário, a API fica no modo somente leitura.
  • Enviando convites para usuários externos: Se enviar mais de 10.000 convites, a API fica no modo somente leitura.
  • Enviar emails pelo evento do calendário: Se enviar mais de 2.000 emails.
  • Compartilhando calendários com múltiplos usuários: Se compartilhar com mais de 750 usuários em um curto período de tempo.

3. Conclusão

Conforme análise realizada, foi identificado que, é possível reproduzir o erro de "Calendar usage limits exceeded" com o teste de carga. Foi feito a alteração e subido no seguinte merge request. Somente rodar o teste quando necessário pois bloqueia a API por horas.