Ir para o conteúdo

Registro de Ambiente (Host Reporting)

Na versão 0.3, configure() inicia em segundo plano um único POST JSON para o endpoint de host por serviço. O corpo dos logs continua compatível com a linha 0.2.x; apenas os headers x-jaylog-protocol e x-jaylog-run-id são adicionados. O protocolo está na versão 3 desde a 0.3.0a4, que acrescentou os limites da máquina ao registro e as métricas de recursos. O run_id permite ao backend ligar os logs à execução que os produziu.

O endpoint é derivado automaticamente trocando o último segmento de JAYLOG_LOG_HTTP_ENDPOINT: https://api.example/logs/add vira https://api.example/logs/host. Use JAYLOG_HOST_HTTP_ENDPOINT somente quando o backend publicar a rota em outro endereço.

O registro inclui sistema operacional, limites da máquina (CPUs, RAM e disco), modo de execução, Python, virtualenv, Git e diretórios de execução. A URL remota do Git tem sempre a credencial embutida removida antes de sair da máquina. Falhas de coleta ou de rede não interrompem a aplicação: o envio tenta novamente com backoff. Se o backend aceitar um log mas devolver x-jaylog-host-required: 1, o jaylog reenvia o registro de host com debounce de 30 segundos; o log já foi aceito e não é reenviado.

JAYLOG_LOG_HTTP_VERIFY=false continua sendo o padrão desta versão para não interromper instalações atrás de proxies corporativos. Para validar TLS, use JAYLOG_LOG_HTTP_VERIFY=true ou informe o caminho do CA bundle corporativo. O padrão passará a true na 0.4.0.

Campos do Hosting Report

O payload enviado para /logs/host é uma fotografia do processo no momento em que o jaylog é configurado. Campos que não puderem ser coletados são enviados como null; isso diferencia uma informação desconhecida de um cliente que não suporta o campo. service identifica o serviço informado em configure() e run_id liga este retrato aos logs da mesma execução.

Nome original (inglês) Nome em português O que informa
run_id ID da execução UUID criado no início do processo para relacionar o report e todos os logs daquela execução.
service Serviço Nome lógico do serviço configurado no jaylog.
protocol_version Versão do protocolo Versão do formato de comunicação usado entre o cliente e o backend.
jaylog_version Versão do jaylog Versão instalada da biblioteca que enviou o report.
started_at Iniciado em Data e hora UTC em que o processo começou.
collected_at Coletado em Data e hora UTC em que a fotografia do ambiente foi coletada.
hostname Nome da máquina Nome do computador ou servidor que executa o processo.
username Usuário Usuário do sistema operacional que iniciou o processo.
ipv4 IPv4 Endereço IPv4 local identificado para a máquina.
cpu_count Quantidade de CPUs CPUs lógicas da máquina; é o teto dos gráficos de CPU.
memory_total_bytes RAM total Memória física total da máquina, em bytes.
disk_total_bytes Tamanho do disco Capacidade, em bytes, do disco onde está o script ou executável.
disk_path Disco medido Raiz do disco medido, como C:\ ou /.
os_system Sistema operacional Família do sistema operacional, como Windows, Linux ou Darwin.
os_release Release do sistema Release do sistema operacional, como a versão do kernel.
os_version Versão do sistema Detalhe textual da versão fornecido pelo sistema operacional.
machine Arquitetura da máquina Arquitetura de hardware, como x86_64 ou ARM64.
execution_mode Modo de execução Como o processo foi iniciado, por exemplo script, serviço ou tarefa agendada.
execution_detail Detalhe da execução Informação complementar sobre o modo de execução identificado.
session_id ID da sessão Identificador da sessão do sistema operacional, quando disponível.
process_id ID do processo PID do processo que está emitindo os logs.
parent_process_name Processo pai Nome do processo que iniciou o processo atual.
python_version Versão do Python Versão do interpretador Python em uso.
python_implementation Implementação do Python Implementação do interpretador, como CPython ou PyPy.
python_executable Executável do Python Caminho do executável Python que está rodando a aplicação.
python_frozen Python congelado Indica se a aplicação foi empacotada como executável, por exemplo com PyInstaller.
venv_active Ambiente virtual ativo Indica se o processo usa um ambiente virtual Python.
venv_kind Tipo de ambiente virtual Tipo do ambiente virtual detectado, como venv, virtualenv ou Conda.
venv_path Caminho do ambiente virtual Diretório do ambiente virtual ativo.
git_available Git disponível Indica se o executável Git está acessível no ambiente.
git_version Versão do Git Versão do executável Git encontrado.
git_repo Repositório Git Indica se o ponto de partida da aplicação pertence a um repositório Git.
git_root Raiz do repositório Diretório raiz do repositório Git.
git_branch Branch Git Branch atualmente selecionada; fica nulo em um commit destacado (detached HEAD).
git_commit Commit Git Hash completo do último commit (HEAD).
git_commit_short Commit Git curto Forma abreviada do hash do último commit.
git_commit_msg Mensagem do commit Assunto da mensagem do último commit.
git_commit_datetime Data e hora do commit Data e hora registrada pelo Git para o último commit, em ISO 8601 e com o fuso horário do commit.
git_dirty Alterações locais Indica se há arquivos modificados, adicionados ou removidos ainda não confirmados no Git.
git_remote_url URL remota do Git URL do remote origin; credenciais embutidas são removidas antes do envio.
cwd Diretório de trabalho atual Diretório atual do processo no momento da coleta.
entrypoint Ponto de entrada Diretório do script ou executável que iniciou a aplicação.

Próximo passo

Além da fotografia do início, o jaylog acompanha o uso de CPU, memória e disco a cada minuto enquanto o processo roda — veja Métricas de Recursos.