123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- -- Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
- -- Licensed to the public under the Apache License 2.0.
- module("luci.statistics.rrdtool.definitions.olsrd", package.seeall)
- function rrdargs( graph, plugin, plugin_instance, dtype )
- local g = { }
- if plugin_instance == "routes" then
- g[#g+1] = {
- -- diagram data description
- title = "%H: Total amount of OLSR routes", vlabel = "n",
- number_format = "%5.0lf", data = {
- types = { "routes" },
- options = {
- routes = {
- color = "ff0000",
- title = "Total number of routes"
- }
- }
- }
- }
- g[#g+1] = {
- title = "%H: Average route ETX", vlabel = "ETX", detail = true,
- number_format = "%5.1lf",data = {
- instances = { "average" }, -- falls es irgendwann mal welche pro ip gibt, wie bei links, dann werden die hier excludiert
- types = { "route_etx" },
- options = {
- route_etx = {
- title = "Average route ETX"
- }
- }
- }
- }
- g[#g+1] = {
- title = "%H: Average route metric", vlabel = "metric", detail = true,
- number_format = "%5.1lf", data = {
- instances = { "average" }, -- falls es irgendwann mal welche pro ip gibt, wie bei links, dann werden die hier excludiert
- types = { "route_metric" },
- options = {
- route_metric = {
- title = "Average route metric"
- }
- }
- }
- }
- elseif plugin_instance == "links" then
- g[#g+1] = {
- -- diagram data description
- title = "%H: Total amount of OLSR neighbours", vlabel = "n",
- number_format = "%5.0lf", data = {
- instances = { "" },
- types = { "links" },
- options = {
- links = {
- color = "00ff00",
- title = "Number of neighbours"
- }
- }
- }
- }
- local instances = graph.tree:data_instances(plugin, plugin_instance, "signal_quality")
- table.sort(instances)
- -- define one diagram per host, containing the rx and lq values
- local i
- for i = 1, #instances, 2 do
- local dsn1 = "signal_quality_%s_value" % instances[i]:gsub("[^%w]+", "_")
- local dsn2 = "signal_quality_%s_value" % instances[i+1]:gsub("[^%w]+", "_")
- local host = instances[i]:match("^[^%-]+%-([^%-]+)%-.+")
- g[#g+1] = {
- title = "%H: Signal Quality" .. " (" .. (host or "avg") ..")", vlabel = "ETX",
- number_format = "%5.2lf", detail = true,
- data = {
- types = { "signal_quality" },
-
- instances = {
- signal_quality = { instances[i], instances[i+1] },
- },
- options = {
- [dsn1] = {
- color = "00ff00",
- title = "LQ (%s)" % (host or "avg"),
- },
- [dsn2] = {
- color = "0000ff",
- title = "NLQ (%s)" % (host or "avg"),
- flip = true
- }
- }
- }
- }
- end
- elseif plugin_instance == "topology" then
- g[#g+1] = {
- title= "%H: Total amount of OLSR links", vlabel = "n",
- number_format = "%5.0lf", data = {
- instances = { "" },
- types = { "links" },
- options = {
- links = {
- color = "0000ff",
- title = "Total number of links"
- }
- }
- }
- }
- g[#g+1] = {
- title= "%H: Average signal quality", vlabel = "n",
- number_format = "%5.2lf", detail = true,
- data = {
- instances = { "average" }, -- exclude possible per-ip stuff
- types = { "signal_quality" },
- options = {
- signal_quality = {
- color = "0000ff",
- title = "Average signal quality"
- }
- }
- }
- }
- end
- return g
- end
|