diff options
-rw-r--r-- | doxygen/dev_doc.md | 5 | ||||
-rw-r--r-- | doxygen/user_doc.md | 1 | ||||
-rw-r--r-- | extras/http/sample.md.hugo | 82 | ||||
-rw-r--r-- | extras/lcov/README.md | 2 |
4 files changed, 89 insertions, 1 deletions
diff --git a/doxygen/dev_doc.md b/doxygen/dev_doc.md index 00f6caedf49..c27dd7e74c1 100644 --- a/doxygen/dev_doc.md +++ b/doxygen/dev_doc.md @@ -16,4 +16,7 @@ Programming notes for developers. - @subpage stats_doc - @subpage if_stats_client_doc - @subpage api_lang_doc -- @subpage handoff_queue_demo_plugin
\ No newline at end of file +- @subpage handoff_queue_demo_plugin +- @subpage lcov_code_coverage +- @subpage mdata_doc + diff --git a/doxygen/user_doc.md b/doxygen/user_doc.md index f39bc10c958..009af67cf1a 100644 --- a/doxygen/user_doc.md +++ b/doxygen/user_doc.md @@ -16,6 +16,7 @@ Several modules provide operational, dataplane-user focused documentation. - @subpage lldp_doc - @subpage map_doc - @subpage marvel_plugin_doc +- @subpage srv6_mobile_plugin - @subpage mtu_doc - @subpage nat64_doc - @subpage nat_ha_doc diff --git a/extras/http/sample.md.hugo b/extras/http/sample.md.hugo new file mode 100644 index 00000000000..8451cedd8a5 --- /dev/null +++ b/extras/http/sample.md.hugo @@ -0,0 +1,82 @@ +--- +title: Home +--- + +# VPP Status + +### Here's the version... + +VPP version: <div id="VPPversion"></div> + +build date: <div id="VPPbuilddate"></div> + +<div id="like_button_container"></div> + +### Show Interface + +<p>Enter the interface name, then click "Submit" to display interface stats:</p> + +<input id="ifacename" type="text"></input> +<button onclick="getStats()">Get Stats</button> + +<div id="ifacestats"></div> + +{{< rawhtml >}} + +<script> +function getStats() { + var url="http://192.168.10.1:1234/interface_stats.json?"; + var iface=document.getElementById("ifacename").value; + url=url.concat(iface); + fetch(url, { + method: 'POST', + mode: 'no-cors', + cache: 'no-cache', + headers: { + 'Content-Type': 'application/json', + }, +}) +.then((response) => response.json()) +.then(function(obj) { + console.log(obj) + var result=obj.interface_stats.name; + result = result.concat(": rx-pkts: "); + result = result.concat(obj.interface_stats.rx_packets); + result = result.concat(" rx-bytes: "); + result = result.concat(obj.interface_stats.rx_bytes); + result = result.concat(": tx-pkts: "); + result = result.concat(obj.interface_stats.tx_packets); + result = result.concat(" tx-bytes: "); + result = result.concat(obj.interface_stats.tx_bytes); + result = result.concat(" drops: "); + result = result.concat(obj.interface_stats.drops); + result = result.concat(" ip4: "); + result = result.concat(obj.interface_stats.ip4); + result = result.concat(" ip6: "); + result = result.concat(obj.interface_stats.ip6); + + document.getElementById("ifacestats").innerHTML=result; +}) +.catch(function(error) { + console.log(error); +})} +// unconditionally populate vpp version info -> +fetch('http://192.168.10.1:1234/version.json', { + method: 'GET', + mode: 'no-cors', + cache: 'no-cache', + headers: { + 'Content-Type': 'application/json', + }, +}) +.then((response) => response.json()) +.then(function(obj) { + document.getElementById("VPPbuilddate").innerHTML=obj.vpp_details.build_date; + document.getElementById("VPPversion").innerHTML=obj.vpp_details.version; +}) +.catch(function(error) { + console.log(error); +}); +</script> + +{{< /rawhtml >}} diff --git a/extras/lcov/README.md b/extras/lcov/README.md index ff0e7bd5e1b..ae57fe53477 100644 --- a/extras/lcov/README.md +++ b/extras/lcov/README.md @@ -1,3 +1,5 @@ +# Code coverage analysis with lcov {#lcov_code_coverage} + ## Prerequisites The Linux gcov and lcov tools are fussy about gcc / g++ compiler |