I have completed some major improvements/bugs and have suggestions for resolving others. The details appear as follows: - The following problems in https://confluence.slac.stanford.edu/display/IEPM/PingER+Route+Visualizer+using+Tracerouteshave been taken care of. The bug has been removed and the code uploaded to svn.
4. Correct traceroute number in raw file, currently it is always 1.
14. Rawtrace routes always have the same traceroute number (1)
- The following problems which were all related to adding the end country/node regardless the traceroute not going through have also been solved. The code has been updated to svn. In addition I am attaching the updated graphs to show you its present state.
7. Many end countries have no node
9. For Africa there are some end countries such as CH, NO that are not in Africa
21. Does not correctly show end country, in the example below the route is identified from BR to UY but it should be BR to PE.
- For the following problems, I have a suggestion which may help them solve quickly without much trouble. I discuss that below:
5. Correct nodes (routers mainly) identified like n0x9435b80
6. Fix the legend or whatever it is
12. Some countries (e.g. SN for Africa) have no name
13. Why for Kinshasarouter server in DRC (CD) is it labelled CG (Congo)?
I have tried to solve these programmatically but since most of these represent a few corner cases it is difficult to eliminate them entirely.
A better solution for these can be done by directly editing the graph language file generated by my program. If you check your ~cottrell/bin/projects/topology/trunk/unit_tests folder you will observe that in addition to the rawtraceroutes and the annotatedtraceroutes it also generates a third text file called tempdot for each run of the program. For instance in case of DRC-to-Africa it was named tempdot-DRC-to-Africa.txt. This file contains the final output of the program describing the graph in terms of nodes and links. The language is very easy to read and merely consists of a description of all the nodes (countries) followed by description of links between those nodes. You just have to edit it for the few discrepancies in the graph and then feed it to the graphviz binary to generate the corrected graph. I explain the process below:
For example the node for United Kingdom is indicated as follows in the tempdot:
subgraph cluster_GB {
label = "United Kingdom (GB)";
style = "dashed";
nGB [label="United Kingdom"];
{color:black}}
If , for instance, you want to change the label of this node to Great Britain instead of United Kingdom, simply change the name of the label in here, then save the tempdot file.
Similarly all links are described in the tempdot as:
nGB -> nBF;
In case you have a faulty link like
nGB -> n0x9433a68;
simply delete this line.
(More Details on the graph language are available at )" class="external-link" rel="nofollow">http://www.graphviz.org/Documentation.php)
Once you have made the corrections to the tempdot file you can regenerate the gif file by the following command. (where -T is the output image file type, -o is the output filename and the last argument is the name of the tempdot file).
akbar@pinger> dot -Tgif -ograph.gif tempdot-DRC-to-Africa.txt
The command may give you an error "Error: Could not find/open font" but you can IGNORE IT since the gif file is generated regardless of the error.
I have attached two tempdot files for before and after editing. If you do a diff on them you can easily compare the edits I made for correcting the graph.