Ejemplo 01: INP alto sin contexto

← Volver al índice

El problema

Cuando medimos INP (Interaction to Next Paint), sabemos cuándo algo va mal, pero no por qué.

En este ejemplo, verás un botón que responde lentamente. Event Timing API nos dice que la interacción fue lenta, pero no nos dice qué código causó el problema.

Demo interactiva

📊 Métricas de interacción:

Salida de Event Timing API:

¿Qué estamos viendo?

⚠️ El problema:

Event Timing API nos dice que la interacción tardó mucho tiempo, pero no nos dice qué función o script específico causó la lentitud.

¿Fue el cálculo matemático? ¿Un fetch? ¿Manipulación del DOM? ¿Un script de terceros?

📝 Nota sobre precisión:

Es posible que veas pequeñas diferencias entre los valores mostrados aquí y los de DevTools. Event Timing API redondea los valores de duration a múltiplos de 8ms por motivos de privacidad, mientras que DevTools tiene acceso privilegiado a valores más precisos.

Código del ejemplo

// Event handler "sospechoso"
button.addEventListener('click', () => {
  // Algo aquí es lento... ¿pero qué exactamente?
  processUserClick();
  updateUI();
  trackAnalytics();
});

// Event Timing API solo nos dice:
// "La interacción tardó 350ms"
// Pero no qué función específica fue la culpable

En el siguiente ejemplo, veremos cómo Long Animation Frames API nos da la respuesta.