{{ template "head" . }}

{{ template "prom_content_head" . }}
  <h1>SNMP Device Overview - {{ .Params.instance }}</h1>

<table class="table table-condensed table-striped table-bordered" style="width: 0%">
<tr>
  <th>Port</th>
  <th>Status</th>
  <th>Speed</th>
  <th>In</th>
  <th>Out</th>
  <th>Discards</th>
  <th>Errors</th>
</tr>
{{ range query (printf "ifOperStatus{job='snmp',instance='%s'}" .Params.instance) | sortByLabel "ifDescr" }}
<tr>
  <td class="text-right">{{ .Labels.ifDescr }}</a></td>
  <td class="text-right {{ if eq (. | value) 1.0 }}success">up
     {{ else if eq (. | value) 2.0}}">down
     {{ else if eq (. | value) 3.0}}">testing
     {{ else if eq (. | value) 4.0}}">unknown
     {{ else if eq (. | value) 5.0}}">dormant
     {{ else if eq (. | value) 6.0}}">notPresent
     {{ else if eq (. | value) 7.0}}">lowerLayerDown
     {{else}}">{{ end }}</td>
  <td class="text-right">{{ template "prom_query_drilldown" (args (printf "ifHighSpeed{job='snmp',instance='%s',ifDescr='%s'} * 1e6 or ifSpeed{job='snmp',instance='%s',ifDescr='%s'}" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "b/s" "humanize")}}</td>
  <td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifHCInOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8 or irate(ifInOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "b/s" "humanize")}}</td>
  <td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifHCOutOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8 or irate(ifOutOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "b/s" "humanize")}}</td>
  <td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifInDiscards{job='snmp',instance='%s',ifDescr='%s'}[5m]) + irate(ifOutDiscards{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "/s" "humanizeNoSmallPrefix")}}</td>
  <td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifInErrors{job='snmp',instance='%s',ifDescr='%s'}[5m]) + irate(ifOutErrors{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "/s" "humanizeNoSmallPrefix")}}</td>
</tr>
{{ end }}
{{ template "prom_content_tail" . }}

{{ template "tail" }}