prometeu-runtime/docs/runtime/agendas/015-perf-runtime-telemetry-hot-path.md
2026-03-24 13:40:53 +00:00

2.4 KiB

Agenda - [PERF] Runtime Telemetry Hot Path

Problema

O runtime cobra telemetria de asset bank no caminho quente de todo host tick.

Hoje, tick() consulta bank_info() para gfx e audio mesmo quando nenhum logical frame foi fechado. O custo de observabilidade acaba sendo pago continuamente pela execucao normal.

Dor

  • CPU e locks sao gastos em todos os ticks, nao apenas quando a metrica muda.
  • hardware barato sofre mais com trabalho pequeno e repetitivo do que com picos raros.
  • overlay, stats e certifier acabam puxando custo estrutural para o core do runtime.

Hotspots Atuais

Alvo da Discussao

Remover varredura e agregacao lock-heavy do hot path do tick sem perder observabilidade util.

O Que Precisa Ser Definido

  1. Modelo de metrica. Decidir o que passa a ser contador incremental e o que continua sendo snapshot sob demanda.

  2. Frequencia de coleta. Decidir se atualizacao acontece:

    • no fechamento do logical frame;
    • apenas com overlay/debug ativo;
    • por amostragem periodica;
    • por evento de mutacao (load, commit, cancel).
  3. Responsabilidade da agregacao. Delimitar se a verdade dos bytes/slots fica:

    • no AssetManager;
    • no runtime;
    • em uma camada propria de telemetry cache.
  4. Garantia de consistencia. Decidir qual grau de defasagem e aceitavel para handheld barato:

    • exato em tempo real;
    • eventual por frame;
    • eventual por tick de debug.

Open Questions de Arquitetura

  1. O certifier realmente precisa de snapshot de bank a cada tick?
  2. O overlay pode ler uma versao resumida da telemetria em vez de recalcular tudo?
  3. Vale manter caminho "preciso" so para testes/debug e caminho "barato" para runtime normal?

Dependencias

  • ../specs/10-debug-inspection-and-profiling.md
  • ../specs/16a-syscall-policies.md

Criterio de Saida Desta Agenda

Pode virar PR quando houver decisao escrita sobre:

  • metrica incremental vs snapshot;
  • ponto canonico de atualizacao da telemetria;
  • custo maximo aceitavel no hot path do tick;
  • comportamento de overlay/certifier sobre dados defasados.