<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jan 24, 2019 at 3:52 AM Shane Kerr <<a href="mailto:shane@time-travellers.org">shane@time-travellers.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Chris,<br>
<br>
On 24/01/2019 06.39, Christopher Morrow wrote:<br>
> howdy!<br>
> So, if I have a dns server somewhere and I want to make a bunch of <br>
> measurements:<br>
> "how does NYC see my dns?" (pick N probes near NYC)<br>
> "How does DEN see my dns?" (pick N probes near DEN)<br>
> "How does LHR see my dns?" (pick N probes near LHR)<br>
> "how does ...."<br>
> <br>
> ...you get the idea... I'm trying to characterize my service from a <br>
> 'user' perspective by large Metropolis, well within N km of that <br>
> metropolis anyway :) but across ~70 or so metros, in v4 and v6 and with <br>
> authoritative and non-authoritative queries with each test running for 4 <br>
> days so i can see some daily cycles in traffic patterns/etc. The number <br>
> of measurements is large in total, breaking up by 3-4 metropolis chunks <br>
> is super tedious :(<br>
> <br>
> Can I request an API key (or some other thing) which can make that sort <br>
> of request happen for all my measurements in one go? The thing I'm <br>
> probing is very able to handle a few extra thousand queries per second.. <br>
> and I'd only be hurting myself i get my estimate wrong :)<br>
<br>
I was part of a team on a hackathon a while back which needed to compute <br>
distances between points on the globe, including Atlas probes:<br>
<br>
<a href="https://github.com/shane-kerr/ripe-atlas-anycast-work" rel="noreferrer" target="_blank">https://github.com/shane-kerr/ripe-atlas-anycast-work</a><br>
<br>
I see that the openflights project has since moved to GitHub, and so you <br>
can get the IATA airport data here:<br>
<br>
<a href="https://github.com/jpatokal/openflights/blob/master/data/airports.dat" rel="noreferrer" target="_blank">https://github.com/jpatokal/openflights/blob/master/data/airports.dat</a><br>
<br></blockquote><div><br></div><div>The geo data wasn't problematic for me, once I found:<br> <a href="http://github.com/kelvins/geocoder">github.com/kelvins/geocoder</a></div><div><br></div><div>which apparently uses:</div><div> <a href="https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports.dat">https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports.dat</a></div><div> </div><div>oh hai! It looks like I didn't do it the 'insane way', mostly :)</div><div>(I should make the repository of code I wrote available, oops)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I guess I should update the README.md...<br>
<br>
The repository is basically a last-point-in-time snapshot of the <br>
hackathon work, so it a bit rough. 😬 Anyway, this code is probably the <br>
closest to what you want:<br>
<br>
<a href="https://github.com/shane-kerr/ripe-atlas-anycast-work/blob/master/add-dist.py" rel="noreferrer" target="_blank">https://github.com/shane-kerr/ripe-atlas-anycast-work/blob/master/add-dist.py</a><br>
<br></blockquote><div><br></div><div>i think you are just sorting through measurement response data to find things near/around/at your points of interest here, right?</div><div>that seems useful.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Turning the great_circle_dist() function into a filter across the set of <br>
all probes (meta-probes.json, which you can download in advance) should <br>
get you something like what you want.<br>
<br></blockquote><div><br></div><div>looks neat ;)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Note that this was all done 4 years ago according to GitHub, so maybe <br>
Atlas provides better tools for this nowadays. 😊<br>
<br></blockquote><div><br></div><div>they do have a method to request probes based on geo data and a radius from that point, which is what I am doing.</div><div>They also have filters (which I've apparently sucked at reading completely!) to limit based on type/ip-version/activity/etc.</div><div>mostly you can query for: "probes near here with these sets of attributes" which works pretty well ;)</div><div><br></div><div>my main problem was/is (I think) that I want to say:<br> "For these M metros, please find 10 (or so) probes with working address family (v4||v6) and probe dns server (V4||V6 address) with a (non-)authoritative request"</div><div> </div><div>my M number is ~70+.</div><div>I didn't want (for some reason?) to try and gather the probes across the globe into less measurements but more probes... huh, I could try that I guess, then I'd only have 4 measurements not M*4.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Cheers,<br>
<br>
--<br>
Shane<br>
<br>
<br>
</blockquote></div></div></div></div>