| 14 |   | The console has a result service running on port 5054. On the grid console the service can be accessed from the URL: grid.orbit-lab.org:5054/result. From the console the user can use a non-interactve network downloader (ie. wget) to retrieve results. A web browser (ie. Chrome) can also be used however tunneling to the console will need to be set up. | 
          
          
            | 15 |   |  | 
          
          
            | 16 |   | : | 
          
          
            | 17 |   | : | 
          
          
            | 18 |   | : | 
          
          
            |   | 14 | The console has a Result Service running on port 5054. For example on the grid console the service can be accessed at the URL: ''grid.orbit-lab.org:5054/result''. From the console the user can use a non-interactve network downloader (ie. wget) to retrieve results. A web browser (ie. Chrome) on a different machine can also be used however tunneling through the console is required. | 
          
          
            |   | 15 |  | 
          
          
            |   | 16 | To view all the services provided use command: | 
          
          
            |   | 17 | {{{ | 
          
          
            |   | 18 | nilanjan@console.grid:~$ wget -qO- grid.orbit-lab.org:5054/result | xml_pp | 
          
          
            |   | 19 | }}} | 
          
          
            |   | 20 |  | 
          
          
            |   | 21 | The services will be displayed in XML format with a brief description between the ''info'' tags and required argument(s). | 
          
          
            |   | 22 | {{{ | 
          
          
            |   | 23 | <?xml version="1.0"?> | 
          
          
            |   | 24 | <services> | 
          
          
            |   | 25 |   <serviceGroup name="result" prefix="/result"> | 
          
          
            |   | 26 |     <info>Service to access and query experiment measurement databases</info> | 
          
          
            |   | 27 |  | 
          
          
            |   | 28 |     <service name="dumpDatabase"> | 
          
          
            |   | 29 |       <info>Dump the complete database holding the measurement results for a given experiment</info> | 
          
          
            |   | 30 |       <args> | 
          
          
            |   | 31 |         <arg isRequired="true" name="expID" value="ExperimentID"> | 
          
          
            |   | 32 |           <info>ID of the Experiment</info> | 
          
          
            |   | 33 |         </arg> | 
          
          
            |   | 34 |       </args> | 
          
          
            |   | 35 |     </service> | 
          
          
            |   | 36 |  | 
          
          
            |   | 37 |     <service name="getSchema"> | 
          
          
            |   | 38 |       <info>Get the Schema of a given experiment measurement database</info> | 
          
          
            |   | 39 |       <args> | 
          
          
            |   | 40 |         <arg isRequired="true" name="expID" value="ExperimentID"> | 
          
          
            |   | 41 |           <info>ID of the Experiment</info> | 
          
          
            |   | 42 |         </arg> | 
          
          
            |   | 43 |       </args> | 
          
          
            |   | 44 |     </service> | 
          
          
            |   | 45 |  | 
          
          
            |   | 46 |     <service name="listTables"> | 
          
          
            |   | 47 |       <info>Get the list of tables in given experiment measurement database</info> | 
          
          
            |   | 48 |       <args> | 
          
          
            |   | 49 |         <arg isRequired="true" name="expID" value="ExperimentID"> | 
          
          
            |   | 50 |           <info>ID of the Experiment</info> | 
          
          
            |   | 51 |         </arg> | 
          
          
            |   | 52 |       </args> | 
          
          
            |   | 53 |     </service> | 
          
          
            |   | 54 |  | 
          
          
            |   | 55 |     <service name="queryDatabase"> | 
          
          
            |   | 56 |       <info>Get the Schema of a given experiment measurement database</info> | 
          
          
            |   | 57 |       <args> | 
          
          
            |   | 58 |         <arg isRequired="true" name="expID" value="ExperimentID"> | 
          
          
            |   | 59 |           <info>ID of the Experiment</info> | 
          
          
            |   | 60 |         </arg> | 
          
          
            |   | 61 |         <arg isRequired="true" name="query" value="SQLquery"> | 
          
          
            |   | 62 |           <info>An SQLite query to run against the database</info> | 
          
          
            |   | 63 |         </arg> | 
          
          
            |   | 64 |         <arg isRequired="true" name="format" value="raw | xml | json | cvs | merged"> | 
          
          
            |   | 65 |           <info>Format to return result in.</info> | 
          
          
            |   | 66 |         </arg> | 
          
          
            |   | 67 |       </args> | 
          
          
            |   | 68 |     </service> | 
          
          
            |   | 69 |   </serviceGroup> | 
          
          
            |   | 70 |  | 
          
          
            |   | 71 | </services> | 
          
          
            |   | 72 | }}} | 
          
          
            |   | 73 |  | 
          
          
            |   | 74 | Listed below are a few example uses of the services for a given Experiment ID (''default_slice-2014-10-20t10.59.11.720-04.00''). Assume all commands are case-sensitive.  | 
          
          
            |   | 75 |  1) Dump the contents of the database in sqlite3 text format: | 
          
          
            |   | 76 | {{{ | 
          
          
            |   | 77 | nilanjan@console.grid:~$ wget -qO- grid.orbit-lab.org:5054/result/dumpDatabase?expID=default_slice-2014-10-20t10.59.11.720-04.00 | 
          
          
            |   | 78 | }}} | 
          
          
            |   | 79 |  | 
          
          
            |   | 80 |  2) Print all tables in the contained in the database in XML format: | 
          
          
            |   | 81 | {{{ | 
          
          
            |   | 82 | nilanjan@console.grid:~$ wget -qO- grid.orbit-lab.org:5054/result/listTables?expID=default_slice-2014-10-20t10.59.11.720-04.00 | xml_pp | 
          
          
            |   | 83 |  | 
          
          
            |   | 84 | <DATABASE ExperimentID="default_slice-2014-10-20t10.59.11.720-04.00"> | 
          
          
            |   | 85 |   <TABLE>_experiment_metadata</TABLE> | 
          
          
            |   | 86 |   <TABLE>iperf_connection</TABLE> | 
          
          
            |   | 87 |   <TABLE>iperf_packets</TABLE> | 
          
          
            |   | 88 |   <TABLE>_senders</TABLE> | 
          
          
            |   | 89 |   <TABLE>iperf_jitter</TABLE> | 
          
          
            |   | 90 |   <TABLE>iperf_settings</TABLE> | 
          
          
            |   | 91 |   <TABLE>iperf_application</TABLE> | 
          
          
            |   | 92 |   <TABLE>iperf_losses</TABLE> | 
          
          
            |   | 93 |   <TABLE>iperf_transfer</TABLE> | 
          
          
            |   | 94 | </DATABASE> | 
          
          
            |   | 95 | }}} | 
          
          
            |   | 96 |  | 
          
          
            |   | 97 |  3) Run a query on a database table and display contents in XML format: | 
          
          
            |   | 98 | {{{ | 
          
          
            |   | 99 | nilanjan@console.grid:~$ wget -qO- grid.orbit-lab.org:5054/result/queryDatabase?expID=default_slice-2014-10-20t10.59.11.720-04.00\&format=xml\&query="select * from iperf_transfer" | xml_pp | 
          
          
            |   | 100 |  | 
          
          
            |   | 101 | <DATABASE ExperimentID="default_slice-2014-10-20t10.59.11.720-04.00"> | 
          
          
            |   | 102 |   <QUERY>select * from iperf_transfer</QUERY> | 
          
          
            |   | 103 |   <RESULT> | 
          
          
            |   | 104 |     <FIELDS>oml_tuple_id oml_sender_id oml_seq oml_ts_client oml_ts_server pid connection_id begin_interval end_interval size</FIELDS> | 
          
          
            |   | 105 |     <ROW>1 1 1 5.741186998784542 5.747786 1511 6 0.0 5.0 11534336</ROW> | 
          
          
            |   | 106 |     <ROW>2 1 2 10.765060991048813 10.771641 1511 6 5.0 10.0 12058624</ROW> | 
          
          
            |   | 107 |     <ROW>3 1 3 15.74006099998951 15.746616 1511 6 10.0 15.0 12189696</ROW> | 
          
          
            |   | 108 |     <ROW>4 1 4 20.73482397198677 20.741354 1511 6 15.0 20.0 12713984</ROW> | 
          
          
            |   | 109 |     : | 
          
          
            |   | 110 |     : | 
          
          
            |   | 111 |     : | 
          
          
            |   | 112 |     <ROW>48 1 24 181.04624199867249 181.170476 1535 7 115.0 120.0 12320768</ROW> | 
          
          
            |   | 113 |   </RESULT> | 
          
          
            |   | 114 | </DATABASE> | 
          
          
            |   | 115 | }}} | 
          
          
            |   | 116 |  | 
          
          
            |   | 117 |  |