Sondas Atlas
Alvaro Herrera
alvherre en alvh.no-ip.org
Mie Dic 10 00:21:53 CLST 2014
Hugo Salgado escribió:
> Por ejemplo, acabo de lanzar un ping desde todas las sondas en Chile
> hacia listas.inf.utfsm.cl. El resultado es:
> https://atlas.ripe.net/api/v1/measurement/1806172/result/
> Hay bibliotecas de parseo en distintos lenguajes.
Parseo! Meh. Subí el JSON de ese ejemplo a una BD Postgres, y luego le
di
WITH arridx (i) AS (
SELECT i
FROM ping, generate_series(0, jsonb_array_length(ping.a)) i
)
SELECT * FROM (
SELECT i, (jsonb_each(j)).*
FROM (
SELECT arridx.i, jsonb_array_element(a, arridx.i) j
FROM arridx, ping)
elt) q
WHERE key IN ('from', 'result', 'min', 'max');
con lo cual me da los valores que le pido, como
4 | max | 9.307
4 | min | 6.386
4 | from | "190.215.177.26"
4 | result | [{"rtt": 8.239}, {"rtt": 6.386}, {"rtt": 9.307}]
5 | max | 73.41
5 | min | 72.958
5 | from | "181.73.104.156"
5 | result | [{"rtt": 73.261}, {"rtt": 73.41}, {"rtt": 72.958}]
6 | max | 15.554
6 | min | 13.548
6 | from | "190.47.47.18"
6 | result | [{"rtt": 13.936}, {"rtt": 13.548, "ttl": 51}, {"rtt": 15.554, "ttl": 52}]
Si uno tiene más de 10 minutos que dedicarle al problema puede dejarlo
mucho más bonito, claro ...
--
Álvaro Herrera http://www.flickr.com/photos/alvherre/
"But static content is just dynamic content that isn't moving!"
http://smylers.hates-software.com/2007/08/15/fe244d0c.html
Más información sobre la lista de distribución Linux