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, ounilse 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âmetro | Tipo | Descrição |
|---|---|---|
ms | integer | Duraçã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()