Aplicação
Logs em tempo real
Estabelecer uma conexão Server-Sent Events (SSE) para receber o feed em tempo real da sua aplicação (logs, métricas ao vivo, status, progresso de deploy). Após a conexão, as 200 linhas de log mais recentes são enviadas, seguidas por novas atualizações. A conexão pode ser mantida por até 10 minutos.
Logs em tempo real
O Playground da API está desativado para este endpoint devido à natureza das conexões SSE, que não são universalmente suportadas pelos navegadores.
A chave da API para sua conta. Você pode encontrá-la nas configurações da conta.
Parâmetros
O ID da aplicação cujos logs você deseja monitorar. Este ID pode ser encontrado na URL do painel de gerenciamento da sua aplicação.
Resposta
Indica se a chamada foi bem-sucedida.
success se bem-sucedida, error se não.code juntamente com o status de erro, detalhando a causa.
Se a requisição for bem-sucedida, a resposta será um stream text/event-stream contendo o feed em tempo real da aplicação.
Cada conexão dura até 10 minutos. Cada conta pode manter 5 conexões em tempo real simultâneas (REALTIME_MAX_CONNECTIONS) e cada aplicação 30 no total entre todos os usuários (REALTIME_MAX_CONNECTIONS_APP); exceder qualquer um dos limites retorna 429.
Estrutura do Server-Sent Events (SSE)
A resposta é um fluxo contínuo no formatotext/event-stream. Cada mensagem é composta por um campo event e um campo data. O formato varia conforme o evento, então trate os payloads de forma defensiva.
Tipos de Evento
system: Sinais de nível de protocolo. A linhadataé um único código em maiúsculas:REALTIME_CONNECTING | <sseId>ao conectar, e depois qualquer um deREALTIME_TIMEOUT,REALTIME_DISCONNECTED,REALTIME_RECONNECTouREALTIME_ERROR.logs: Uma única linha de log cujo primeiro caractere é um byte de identificação do stream:\x01(stdout) ou\x02(stderr). Leiadata.charCodeAt(0)(1 = stdout, 2 = stderr) e depoisdata.slice(1)para obter o texto. Uma linha sem esse byte de prefixo é stdout.status: Métricas do contêiner ao vivo como uma string JSON, cerca de um frame por segundo. O primeiro frame de cada (re)conexão é completo:{ cpu, cpuLimit, ram: [usedMB, limitMB], status, netIO: { i, o, new: { i, o } }, bIO: { i, o }, uptime }(uptimeé o horário de início em ms epoch;netIO.newé bytes por segundo). Todo frame seguinte é reduzido, contendo apenas{ cpu, ram, netIO, bIO }— mescle cada um sobre o último frame completo, mantendo os valores anteriores decpuLimit,statuseuptime. Enquanto este stream estiver aberto, prefira-o em vez de consultarGET /v2/apps/{app_id}/status, que pode ficar até cerca de um minuto desatualizado para uma aplicação com um stream em tempo real aberto.error: Carrega um código de erro comoCONTAINER_NOT_FOUND.
\x01 / \x02 representam os bytes brutos de prefixo de stdout / stderr.
Erros comuns
Logs em tempo real

