Skip to main content

Descrição

Uma linha por alocação ativa amostrada pelo profiler de heap do jemalloc; a leitura da tabela dispara o flush de um novo perfil de heap. Apenas as threads com o profiler ativado contribuem (setting jemalloc_enable_profiler ou config jemalloc_enable_global_profiler); cada linha representa aproximadamente weight alocações semelhantes.

Colunas

  • trace (Array(UInt64)) — Endereços do backtrace da alocação, com o leaf frame primeiro (mesma convenção de system.trace_log.trace). Simbolize com addressToSymbol e demangle (requer allow_introspection_functions).
  • age_ns (UInt64) — Tempo, em nanossegundos, durante o qual a alocação esteve viva, em relação ao momento em que o perfil foi flushed.
  • size (UInt64) — Tamanho de alocação solicitado, em bytes.
  • usize (UInt64) — Tamanho utilizável em bytes, isto é, a size class para a qual a solicitação foi arredondada.
  • size_class (UInt16) — Índice da size class. Faz join com system.jemalloc_bins.index para size classes pequenas.
  • arena (UInt32) — Índice da arena a partir da qual a alocação foi atendida.
  • thr_uid (UInt64) — id único interno do jemalloc da thread que realizou a alocação.
  • sample_interval (UInt64) — Número médio de bytes alocados entre samples, obtido do header do perfil. É o mesmo para todas as linhas.
Aliases:
  • alloc_time — Alias para now() - intDiv(age_ns, 1000000000).
  • weight — Alias para 1 / (1 - exp((-usize) / sample_interval)).
Última modificação em 26 de setembro de 2026