Pular para conteúdo

Middleware e observabilidade

Middleware

Mux.Use envolve todo handler (logging, panics-to-errors, tracing); o EnqueueMiddleware variádico do NewClient envolve toda inserção do mesmo jeito (por exemplo, para marcar metadados de tenant).

Observabilidade

kilnotel rastreia cada job desde a requisição que o enfileirou até o handler que o executou, e registra contagens de jobs, durações e o atraso entre o horário agendado de um job e o seu início:

client := kiln.NewClient(store, kilnotel.EnqueueMiddleware())
mux.Use(kilnotel.Middleware())
unregister, err := kilnotel.Observe(server, store)

Ele depende só da API do OpenTelemetry, então reporta através de qualquer SDK e exporters que a aplicação já tenha. Server.Stats() e Server.Healthy() cobrem o mesmo terreno sem precisar dele.