blob: b383b55c3a67f79f0d143b98caa283191e98f831 [file] [log] [blame]
// Copyright 2018 Open Networking Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"github.com/prometheus/client_golang/prometheus"
)
var (
onosTxBytesTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "onos_tx_bytes_total",
Help: "Number of total bytes transmitted",
},
[]string{"device_id", "port_id"},
)
onosRxBytesTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "onos_rx_bytes_total",
Help: "Number of total bytes received",
},
[]string{"device_id", "port_id"},
)
onosTxPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "onos_tx_packets_total",
Help: "Number of total packets transmitted",
},
[]string{"device_id", "port_id"},
)
onosRxPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "onos_rx_packets_total",
Help: "Number of total packets received",
},
[]string{"device_id", "port_id"},
)
onosTxDropPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "onos_tx_drop_packets_total",
Help: "Number of total transmitted packets dropped",
},
[]string{"device_id", "port_id"},
)
onosRxDropPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "onos_rx_drop_packets_total",
Help: "Number of total received packets dropped",
},
[]string{"device_id", "port_id"},
)
)
func exportOnosKPI(kpi OnosKPI) {
for _, data := range kpi.Ports {
onosTxBytesTotal.WithLabelValues(
kpi.DeviceID,
data.PortID,
).Set(data.TxBytes)
onosRxBytesTotal.WithLabelValues(
kpi.DeviceID,
data.PortID,
).Set(data.RxBytes)
onosTxPacketsTotal.WithLabelValues(
kpi.DeviceID,
data.PortID,
).Set(data.TxPackets)
onosRxPacketsTotal.WithLabelValues(
kpi.DeviceID,
data.PortID,
).Set(data.RxPackets)
onosTxDropPacketsTotal.WithLabelValues(
kpi.DeviceID,
data.PortID,
).Set(data.TxPacketsDrop)
onosRxDropPacketsTotal.WithLabelValues(
kpi.DeviceID,
data.PortID,
).Set(data.RxPacketsDrop)
}
}