qratorlabs / measurement_tools Goto Github PK
View Code? Open in Web Editor NEWTools to create latency and connectivity measurements with help of RIPE Atlas
Tools to create latency and connectivity measurements with help of RIPE Atlas
In INSTALL.md
, I think that one last command is missing, pip install .
, no? Otherwise, the tools are not installed. (I'm very bad at Python packaging so I do not dare to propose a PR.)
When using -m without -k, I get:
% atlas-heatmap -t g.ext.nic.fr -n 3000 -m 11021572 11021573 11021574
usage: atlas-heatmap [-h] -t TARGET -k KEY [-f FILENAME] [-p {ICMP,UDP}]
[-c COUNTRY] [-n PROBE_NUMBER] [-T TIMEOUT] [-d DENSITY]
[-m id [id ...]]
atlas-heatmap: error: argument -k/--key is required
Since the tools create public measurements, it seems useless to request a key in that case.
On Ubuntu 18.10, following the instructions, I was having the following issue:
(env) xionox@laptop:~/Documents/Projects/github/QratorLabs/measurement_tools$ atlas-heatmap
Traceback (most recent call last):
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/bin/atlas-heatmap", line 11, in <module>
load_entry_point('atlas-tools==0.2.0', 'console_scripts', 'atlas-heatmap')()
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 561, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2631, in load_entry_point
return ep.load()
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2291, in load
return self.resolve()
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2297, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/atlas_tools/latency_heatmap.py", line 6, in <module>
from cartopy import crs
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/cartopy/__init__.py", line 107, in <module>
import cartopy.crs
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/cartopy/crs.py", line 36, in <module>
from cartopy._crs import CRS, Geodetic, Globe, PROJ4_VERSION
ImportError: libproj.so.12: cannot open shared object file: No such file or directory
Which I fixed running:
(env) xionox@laptop:~/Documents/Projects/github/QratorLabs/measurement_tools$ sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.13.1.0 /usr/lib/x86_64-linux-gnu/libproj.so.12
I don't have much time to troubleshoot it more, but that might help people with the same issue.
All the other tools are working except the following.
Please let me know if I can help troubleshooting it. Thanks
(env) xionox@laptop:~/Documents/Projects/github/QratorLabs/measurement_tools$ atlas-reachability -t 'www.wikipedia.org' -k 'REDACTED'
Atlas ping measurement IDs: 18179888 18179889 18179892 18179896 18179897 18179898 18179899 18179900 18179901 18179902
Atlas ping measurement IDs: 18179888 18179889 18179892 18179896 18179897 18179898 18179899 18179900 18179901 18179902
Atlas trace measurement IDs: 18180234
Traceback (most recent call last):
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/bin/atlas-reachability", line 11, in <module>
load_entry_point('atlas-tools==0.2.0', 'console_scripts', 'atlas-reachability')()
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/atlas_tools/reachability.py", line 137, in main
timeout=args.timeout
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/atlas_tools/reachability.py", line 104, in test_reachability
timeout=timeout
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/atlas_tools/measurement.py", line 203, in trace_measure
traces.run()
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/atlas_tools/measurement.py", line 98, in run
self._flush_results()
File "/home/xionox/Documents/Projects/github/QratorLabs/measurement_tools/env/local/lib/python2.7/site-packages/atlas_tools/measurement.py", line 153, in _flush_results
dst_ip = trace_data['dst_addr']
KeyError: 'dst_addr'
First, nslookup is an old and deprecated tool.
Second, I don't understand what atlas-nslookupmap does. Seeing the list of my measurements, I see only ping measurements, no DNS at all.
/home/stephane/.local/lib/python2.7/site-packages/atlas_tools/latency_countrymap.py:55: FutureWarning: get_value is deprecated and will be removed in a future release. Please use .at[] or .iat[] accessors instead
return linear(dataframe.get_value(iso, 'Latency'))
I try to draw a heatmap. I get some warning and I don't know if they are serious or not:
% atlas-heatmap -t d.nic.fr -k MYKEY -n 1000
2018-01-26 09:28:32,590: Target: d.nic.fr
2018-01-26 09:28:32,590: Forming probes list
2018-01-26 09:30:27,080: More than 1000 probes (10117), cut to 1000
2018-01-26 09:30:27,124: Forming measurement and waiting response
2018-01-26 09:30:28,301: Atlas ping measurement ids: [11021568]
2018-01-26 09:30:28,310: Drawing the heatmap
/home/stephane/.local/lib/python2.7/site-packages/cartopy/io/__init__.py:264: DownloadWarning: Downloading: http://naciscdn.org/naturalearth/110m/physical/ne_110m_land.zip
warnings.warn('Downloading: {}'.format(url), DownloadWarning)
/home/stephane/.local/lib/python2.7/site-packages/cartopy/io/__init__.py:264: DownloadWarning: Downloading: http://naciscdn.org/naturalearth/110m/physical/ne_110m_ocean.zip
warnings.warn('Downloading: {}'.format(url), DownloadWarning)
/home/stephane/.local/lib/python2.7/site-packages/cartopy/io/__init__.py:264: DownloadWarning: Downloading: http://naciscdn.org/naturalearth/110m/cultural/ne_110m_admin_0_boundary_lines_land.zip
warnings.warn('Downloading: {}'.format(url), DownloadWarning)
%
Then, the only produced file is a d.nic.fr_atlas_tools.png
which is just a map, without measurement results on it.
I have to launch the command again with -m to get a result.
% atlas-heatmap -t d.nic.fr -k MYKEY -n 1000 -m 11021568
2018-01-26 09:34:26,910: Target: d.nic.fr
2018-01-26 09:34:26,910: Forming probes list
2018-01-26 09:34:39,596: Atlas ping measurement ids: [11021568]
2018-01-26 09:34:39,596: Dns resolution failed: 1112
2018-01-26 09:34:39,597: Dns resolution failed: 1121
2018-01-26 09:34:39,597: Dns resolution failed: 1145
2018-01-26 09:34:39,597: Dns resolution failed: 1184
2018-01-26 09:34:39,597: Dns resolution failed: 1207
2018-01-26 09:34:39,598: Dns resolution failed: 1243
2018-01-26 09:34:39,598: Dns resolution failed: 1247
2018-01-26 09:34:39,598: Dns resolution failed: 1275
2018-01-26 09:34:39,598: Dns resolution failed: 1323
2018-01-26 09:34:39,599: Dns resolution failed: 1430
2018-01-26 09:34:39,599: Dns resolution failed: 1469
2018-01-26 09:34:39,599: Dns resolution failed: 1481
2018-01-26 09:34:39,600: Dns resolution failed: 242
2018-01-26 09:34:39,600: Dns resolution failed: 32803
2018-01-26 09:34:39,600: Dns resolution failed: 32818
2018-01-26 09:34:39,601: Dns resolution failed: 32861
2018-01-26 09:34:39,602: Dns resolution failed: 32879
2018-01-26 09:34:39,602: Dns resolution failed: 32937
2018-01-26 09:34:39,602: Dns resolution failed: 32940
2018-01-26 09:34:39,602: Dns resolution failed: 32965
2018-01-26 09:34:39,602: Dns resolution failed: 32973
2018-01-26 09:34:39,603: Dns resolution failed: 33039
2018-01-26 09:34:39,603: Dns resolution failed: 33059
2018-01-26 09:34:39,603: Dns resolution failed: 33108
2018-01-26 09:34:39,603: Dns resolution failed: 33115
2018-01-26 09:34:39,603: Dns resolution failed: 33128
2018-01-26 09:34:39,603: Dns resolution failed: 33177
2018-01-26 09:34:39,604: Dns resolution failed: 33380
2018-01-26 09:34:39,604: Dns resolution failed: 33431
2018-01-26 09:34:39,604: Dns resolution failed: 33505
2018-01-26 09:34:39,604: Dns resolution failed: 33542
2018-01-26 09:34:39,604: Dns resolution failed: 33596
2018-01-26 09:34:39,604: Dns resolution failed: 33611
2018-01-26 09:34:39,605: Dns resolution failed: 33651
2018-01-26 09:34:39,605: Dns resolution failed: 33714
2018-01-26 09:34:39,605: Dns resolution failed: 33839
2018-01-26 09:34:39,605: Dns resolution failed: 33845
2018-01-26 09:34:39,605: Dns resolution failed: 33901
2018-01-26 09:34:39,605: Dns resolution failed: 33926
2018-01-26 09:34:39,606: Dns resolution failed: 34027
2018-01-26 09:34:39,606: Dns resolution failed: 34032
2018-01-26 09:34:39,606: Dns resolution failed: 34085
2018-01-26 09:34:39,607: Dns resolution failed: 34190
2018-01-26 09:34:39,609: Dns resolution failed: 619
2018-01-26 09:34:39,609: Dns resolution failed: 621
2018-01-26 09:34:39,610: Dns resolution failed: 75
2018-01-26 09:34:39,610: Dns resolution failed: 769
2018-01-26 09:34:39,610: Dns resolution failed: 776
2018-01-26 09:34:39,610: Dns resolution failed: 785
2018-01-26 09:34:46,967: Drawing the heatmap
This time, I get a proper map.
In some other cases, I don't have the warning, but I still need to re-run the command to get a proper map:
% atlas-heatmap -t g.ext.nic.fr -k MYKEY -n 3000
2018-01-26 09:36:52,327: Target: g.ext.nic.fr
2018-01-26 09:36:52,327: Forming probes list
2018-01-26 09:38:42,210: More than 3000 probes (10100), cut to 3000
2018-01-26 09:38:42,245: Forming measurement and waiting response
2018-01-26 09:38:45,561: Atlas ping measurement ids: [11021572, 11021573, 11021574]
2018-01-26 09:38:45,568: Drawing the heatmap
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.