Docs · Ruby

Logs y alertas en Ruby, en 5 minutos

Los errores de tu app de Ruby con su stack, el hilo de cada petición entre tus servicios y el aviso al teléfono cuando un pedido no termina. Un archivo, sin gemas.

  1. 1

    Instala

    # copia estiaje.rb a tu proyecto (Ruby 2.7 o superior)

    Es un archivo sin dependencias: cópialo de aquí. Cambia "mi-api" por el nombre de tu servicio.

  2. 2

    Tu llave

    Crea tu cuenta y pon la llave en ESTIAJE_TOKEN. O pídele a tu IA «conecta este repo a Estiaje» (el conector). Sin la llave no sale nada por la red: puedes instrumentar hoy.

  3. 3

    Tus errores y el hilo de cada petición

    ● Probado en CI
    # config/application.rb
    require_relative "../lib/estiaje"
    Estiaje.capturar_errores   # los que nadie atrapó
    
    # …dentro de class Application:
    config.middleware.use Estiaje::Middleware   # el hilo de cada petición
    require_relative "estiaje"
    Estiaje.capturar_errores   # los que nadie atrapó
    
    use Estiaje::Middleware   # el hilo de cada petición
    # lib/tasks/corte.rake
    task corte: :environment do
      Estiaje.empezar_hilo(nil)   # un hilo nuevo para este trabajo
      procesar
      Estiaje.esperar   # antes de salir, que terminen los envíos
    end
  4. 4

    El proceso que debe terminar

    Estiaje.evento("pedido.pagado", { order_id: pedido.id, monto: pedido.total })
    # … cuando se surte …
    Estiaje.evento("pedido.surtido", { order_id: pedido.id }, kind: "outcome")
  5. 5

    El aviso

    En el panel, en Procesos: «todo pedido.pagado espera su pedido.surtido, por order_id, en 30 minutos». Si no llega, te avisa al teléfono, por correo o en Slack, con el dinero en riesgo.

Y si quieres más
  • Los errores que atrapas: Estiaje.error(e, { order_id: pedido.id }), con su stack.
  • Al llamar a otro servicio, pasa el hilo: req["traceparent"] = Estiaje.traceparent.
  • Ruby 2.7 o superior; solo net/http y json.

Todo lo demás está en la documentación completa.

Crear cuenta, 14 días de Pro Sin tarjeta. En pesos.