Skip to main content

Utils

A classe Utils fornece funções utilitárias diversas para operações comuns como obter timestamps e controlar o tempo de execução.

Métodos

Utils.getTimeSinceBoot()

Obtém o tempo decorrido desde a inicialização do sistema em microssegundos.

Retorno: integer — Tempo em microssegundos desde o boot.

local uptime = Utils.getTimeSinceBoot()
Log.info(string.format("Uptime: %.0f µs", uptime))

Utils.getTime()

Obtém o timestamp atual em milissegundos desde a época Unix (1 de janeiro de 1970).

Atenção

Este método retorna nil se o tempo ainda não foi sincronizado via SNTP. A sincronização é feita automaticamente em segundo plano quando há conexão com a internet.

Retorno:

  • integer|nil — Timestamp em milissegundos, ou nil se não sincronizado.
  • string|nil — Mensagem de erro se a obtenção do tempo falhar.
local timestamp, err = Utils.getTime()
if timestamp then
Log.info(string.format("Timestamp atual: %.0f ms", timestamp))
else
Log.warn("Tempo não sincronizado: " .. (err or "erro desconhecido"))
end

Utils.sleep(ms)

Pausa a execução do script por um período especificado em milissegundos.

ParâmetroTipoDescrição
msintegerDuração do sleep em milissegundos (deve ser não-negativo)
Log.info("Iniciando operação...")
Utils.sleep(1000) -- Aguarda 1 segundo
Log.info("Operação concluída!")

Exemplo Completo

-- Monitora uptime e timestamp
local function logStatus()
local uptime = Utils.getTimeSinceBoot()
local timestamp, err = Utils.getTime()

Log.info(string.format("=== Status do Sistema ==="))
Log.info(string.format("Uptime: %.0f µs (%.2f s)", uptime, uptime / 1000000))

if timestamp then
Log.info(string.format("Timestamp Unix: %.0f ms", timestamp))
else
Log.warn("Relógio não sincronizado")
end
end

-- Executa verificação inicial
logStatus()

-- Aguarda e verifica novamente
Utils.sleep(5000)
logStatus()