Saltar al contenido

Primeros pasos ​

Esta sesión no necesita nada más que Signal Lab: todo va a 127.0.0.1, este equipo, así que no intervienen dispositivos, redes ni reglas de firewall. Vas a:

  1. enviar un mensaje OSC y verlo llegar;
  2. ver el mismo mensaje en el Inspector;
  3. guardarlo en la biblioteca y volver a enviarlo desde cualquier lugar;
  4. iniciar una API HTTP emulada y preguntarle algo;
  5. ejecutar un experimento contra esa API, leer por qué falla, corregirlo y añadir una comprobación.

Si aún no has instalado Signal Lab, consulta Instalación y actualizaciones. ¿No sabes dónde está algo en la ventana? Consulta La ventana.

Enviar un mensaje OSC y verlo llegar ​

Primero, algo que reciba el mensaje: el monitor de la pantalla OSC.

  1. Abre OSC en la barra lateral.
  2. En Monitor, pon Dirección de escucha en 127.0.0.1:9000, para que el monitor escuche solo en este equipo.
  3. Pulsa Escuchar. El botón pasa a ser Detener, la consola indica que el monitor está escuchando y el monitor aparece como tarea en la franja del panel inferior.

Ahora el mensaje, desde el emisor que está al lado:

  1. En Emisor, deja Host:puerto de destino en 127.0.0.1:9000, el puerto en el que escucha el monitor.
  2. Deja Dirección OSC en /hello/avatar/1 y el único argumento float de Argumentos en 1.0, o escribe una dirección y unos valores propios.
  3. Pulsa Enviar, o Enter en el campo del destino o de la dirección.

Aparece una línea en la tabla del monitor: la Hora a la que llegó, Origen (127.0.0.1 y el puerto desde el que se envió), la Dirección y los Args. Bajo el emisor, una línea confirma lo que se envió y su tamaño en bytes; vuelve a enviarlo y cuenta las repeticiones.

¿Un aviso sobre el firewall?

En Windows, al iniciar el monitor puede aparecer bajo la cabecera un aviso sobre el Firewall de Windows. Se refiere a los mensajes de otros equipos; el tráfico en 127.0.0.1 nunca se filtra. Pulsa Ahora no por ahora; El aviso del firewall explica cuándo conviene permitirlo.

Verlo en el Inspector ​

El Inspector registra cada trama que envía y recibe cada herramienta, pero solo mientras la captura está activada.

  1. En el panel inferior, abre la pestaña Inspector.
  2. Pulsa Activar captura. El punto de la pestaña se ilumina.
  3. De vuelta en el emisor, pulsa Enviar una vez más.

Aparecen dos filas, la más reciente primero: el mensaje tal como se envió (→) y tal como lo recibió el monitor (←), cada una con su protocolo, la dirección del otro extremo, su tamaño y un resumen. Haz clic en una: Detalle de la trama muestra qué herramienta la envió o la recibió y en qué direcciones, el mensaje en la sección Decodificado y, en Bytes, los bytes que lo formaban.

Pulsa Desactivar captura cuando termines; mientras la captura está desactivada no cuesta nada. Más en Inspector.

Guardarlo como señal y volver a enviarlo ​

Un mensaje que vas a querer otra vez tiene su sitio en la biblioteca de señales.

  1. En la pantalla OSC, pulsa Guardar… bajo el emisor.
  2. En Guardar en la biblioteca, pon Nombre en First message y Carpeta en Tutorial; la carpeta nueva se crea al guardar en ella.
  3. Pulsa Guardar.

El emisor queda ahora vinculado a esa señal: el botón indica Guardada y una etiqueta a su lado muestra dónde está la señal. Cambia el argumento y la etiqueta anota el cambio; Guardar (Ctrl+S) actualizaría la señal.

Ahora vuelve a enviarla, de tres formas:

  • Desde la biblioteca. Haz clic en la etiqueta: se abre Señales con la señal seleccionada en la carpeta Tutorial (o abre Señales y haz clic en ella allí). Pulsa Enviar, o Ctrl+Enter; un doble clic sobre ella en la lista también la envía.
  • Desde cualquier lugar. En cualquier pantalla, pulsa Ctrl+K, escribe first y pulsa Enter.
  • Desde un experimento. Cuando añades un nodo, el menú muestra tus señales en Señales guardadas, listas para convertirse en un paso que envía una de ellas.

Cada vez, el monitor muestra la llegada del mensaje y la consola nombra la señal. Una señal envía exactamente lo que habría enviado su pantalla. Más en Señales.

Cuando termines con OSC, pulsa Detener en el monitor.

Preguntar a una API emulada ​

Signal Lab trae cinco emuladores, todos en 127.0.0.1. Uno de ellos, la API de demostración, es una API HTTP en 127.0.0.1:8080 con estas rutas:

SolicitudRespuesta
GET /health200 con {"status":"ok","time":"…"}: la hora actual
GET /users/:id200 con el usuario de ese id, por ejemplo {"id":"42","name":"User 42"}
POST /users201 con un encabezado Location y el nuevo id
GET /slow200 al cabo de 1,5 segundos
cualquier método, /flaky503, 503 y luego 200 a partir de la tercera solicitud
cualquier otra cosa404
  1. Abre Emuladores. La Biblioteca muestra los cinco; selecciona API de demostración.
  2. Pulsa Iniciar. Ahora responde en 127.0.0.1:8080 y funciona como una tarea.
  3. Abre HTTP. El método es GET; pon la URL http://127.0.0.1:8080/health.
  4. Pulsa Enviar, o Enter en la URL.

En Respuesta ves el Estado 200, la Latencia, el Tamaño, los encabezados de la respuesta y el cuerpo JSON. Envía http://127.0.0.1:8080/flaky tres veces: dos respuestas 503 y luego 200, que es como ve un cliente que reintenta a un servicio que se recupera.

De vuelta en Emuladores, el panel En vivo cuenta cada solicitud, y Recibidos muestra cada una con la Regla que la respondió y la Respuesta. Deja la API de demostración en marcha para la parte siguiente. Más en Emuladores.

Ejecutar un experimento ​

Un experimento es un flujo de pasos que puedes ejecutar una y otra vez. El que Signal Lab abre la primera vez, la plantilla Comprobación HTTP, envía una solicitud a http://127.0.0.1:8080/ y comprueba que la respuesta es 200.

Abrir la plantilla ​

  1. Abre Experimentos.
  2. Si el lienzo no muestra cuatro nodos (Inicio, Solicitud HTTP, Estado HTTP, Fin), pulsa ☰ a la izquierda de la barra de herramientas (Experimentos), elige Comprobación HTTP en la lista de plantillas y pulsa Abrir experimento. Abrirla sustituye el experimento del lienzo; Ctrl+Z recupera el anterior.

Haz clic en un nodo para ver sus ajustes en Propiedades, a la derecha. Los experimentos se guardan solos mientras los editas.

Ejecutarlo y leer por qué falla ​

  1. Pulsa Ejecutar experimento.

La Línea de tiempo de la ejecución se abre bajo el lienzo, con una fila por paso cuando empieza (En curso) y otra cuando termina: la hora, el nodo y cómo fue. Esta ejecución falla:

  • Inicio se supera e indica la semilla de la ejecución.
  • Solicitud HTTP se supera: la solicitud salió y volvió una respuesta, HTTP 404.
  • Estado HTTP falla: esperaba 200 y recibió 404.

La API de demostración no tiene ninguna ruta para /, así que respondió 404, y la comprobación lo detectó. La línea de la parte superior de la línea de tiempo indica Fallido y por qué. Haz clic en una fila para seleccionar su nodo en el lienzo.

¿Falló la propia solicitud?

Si el paso Solicitud HTTP falla con una conexión rechazada, no hay nada escuchando en 127.0.0.1:8080: inicia la API de demostración en Emuladores y vuelve a ejecutar.

Corregir la solicitud ​

  1. Haz clic en el nodo Solicitud HTTP.
  2. En Propiedades, cambia URL a http://127.0.0.1:8080/health.
  3. Pulsa Ejecutar experimento.

Esta vez se superan todos los pasos: Estado HTTP indica Condición cumplida, Fin indica Completado y el título de la línea de tiempo indica Superado.

Añadir una comprobación ​

Un estado 200 dice que el servicio respondió; no dice qué respondió. Comprueba también el cuerpo:

  1. Haz clic en el nodo Estado HTTP.
  2. En Propiedades, pulsa Agregar siguiente, o pulsa A con el foco en el lienzo. Se abre un menú de nodos con un campo de búsqueda.
  3. Escribe assert_body y pulsa Enter. Se añade un nodo Texto de respuesta entre Estado HTTP y Fin, ya conectado, con su campo Contiene el texto listo para escribir.
  4. Escribe "status":"ok".
  5. Pulsa Ejecutar experimento.

El paso nuevo se supera. Cambia el texto por algo que el cuerpo no contenga y vuelve a ejecutar para verlo fallar con el motivo.

Lo que deja una ejecución ​

  • Un informe. Cuando termina una ejecución, aparece Informe guardado en el título de la línea de tiempo; pasa el puntero por encima para ver el archivo. Una ejecución que termina, superada o fallida, escribe uno en la carpeta runs de tu carpeta de datos, con los valores que usó y cada paso. En un navegador es un enlace de descarga.
  • Una semilla. El título muestra también la semilla de la ejecución con Fijar: los valores aleatorios de una ejecución siguen su semilla, y fijarla los repite exactamente.

Más en Ejecuciones e informes.

Limpiar ​

Pulsa Detener todo en la cabecera: detiene la API de demostración y todo lo que siga en marcha. Tu señal, el experimento y sus informes se quedan en tu carpeta de datos.

Y ahora ​

  • Conceptos: las ideas en las que se basan las pantallas, las señales, las tareas, los emuladores y los experimentos.
  • Experimentos: el editor completo, y cada tipo de nodo en Nodos.
  • OSC, HTTP y las páginas de los demás protocolos, cuando apuntes Signal Lab a equipos reales.
  • La línea de comandos: ejecuta el mismo experimento desde un terminal o un pipeline.