SEBA-973 Update kafka topic exporter to support voltha 2.0 KPI2 event types
Needs to be merged after mergeing VOL-2948
Change-Id: I29620969773d555294ce6eefe7cf52be6df63225
diff --git a/Gopkg.lock b/Gopkg.lock
index 5d9ed06..94ab340 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -66,12 +66,20 @@
revision = "f62e125fcbfec116f56051e523699d5cce1d33f8"
[[projects]]
- digest = "1:573ca21d3669500ff845bdebee890eb7fc7f0f50c59f2132f2a0c6b03d85086a"
+ digest = "1:e990969aa1e50a90b32339bde4ba5bea3f81e8da8c15f20f62786c4dfb8ae45b"
name = "github.com/golang/protobuf"
- packages = ["proto"]
+ packages = [
+ "proto",
+ "protoc-gen-go/descriptor",
+ "ptypes",
+ "ptypes/any",
+ "ptypes/duration",
+ "ptypes/empty",
+ "ptypes/timestamp",
+ ]
pruneopts = "UT"
- revision = "6c65a5562fc06764971b7c5d05c76c75e84bdbf7"
- version = "v1.3.2"
+ revision = "1b794fe86dd6a0c7c52ae69b5c9cb0aeedc52afa"
+ version = "v1.4.0"
[[projects]]
digest = "1:e4f5819333ac698d294fe04dbf640f84719658d5c7ce195b10060cc37292ce79"
@@ -117,6 +125,19 @@
version = "v1.0.1"
[[projects]]
+ digest = "1:c2b2d407417b550f4e45ae161bce8cc511f275d3af400d13ce1df9679755cec7"
+ name = "github.com/opencord/voltha-protos"
+ packages = [
+ "go/common",
+ "go/omci",
+ "go/openflow_13",
+ "go/voltha",
+ ]
+ pruneopts = "UT"
+ revision = "b6b797cceae987556bc705acc6273b1c7e43ce05"
+ version = "v1.0.3"
+
+[[projects]]
digest = "1:f690a0a27cefae695fa9587aa3ed23652e593be1d98b35f8184d10bccec30444"
name = "github.com/pierrec/lz4"
packages = [
@@ -128,7 +149,7 @@
version = "v2.2.4"
[[projects]]
- digest = "1:eb04f69c8991e52eff33c428bd729e04208bf03235be88e4df0d88497c6861b9"
+ digest = "1:e89f2cdede55684adbe44b5566f55838ad2aee1dff348d14b73ccf733607b671"
name = "github.com/prometheus/client_golang"
packages = [
"prometheus",
@@ -136,8 +157,8 @@
"prometheus/promhttp",
]
pruneopts = "UT"
- revision = "4ab88e80c249ed361d3299e2930427d9ac43ef8d"
- version = "v1.0.0"
+ revision = "2641b987480bca71fb39738eb8c8b0d577cb1d76"
+ version = "v0.9.4"
[[projects]]
branch = "master"
@@ -199,27 +220,155 @@
[[projects]]
branch = "master"
- digest = "1:3e0062766e6b0bcfe1ba1ed1d3f08a8e1e99cd5831426e2596dc9537d28f2adb"
+ digest = "1:6709f392f6c8449ec1d23face6328ffe1f1cd7f4b28422bbc3218314ff78bf33"
name = "golang.org/x/net"
packages = [
+ "http/httpguts",
+ "http2",
+ "http2/hpack",
+ "idna",
"internal/socks",
+ "internal/timeseries",
"proxy",
+ "trace",
]
pruneopts = "UT"
revision = "da137c7871d730100384dbcf36e6f8fa493aef5b"
[[projects]]
branch = "master"
- digest = "1:31d44814b45607afa77c6e8ef20ea8bacc1d1053fe084440c874f311732e7ec3"
+ digest = "1:5632b0c4d972da51b5914f09fc5c1a8535e9d8d5d937e95ef83c423a0dd67f13"
name = "golang.org/x/sys"
- packages = [
- "unix",
- "windows",
- ]
+ packages = ["unix"]
pruneopts = "UT"
revision = "fae7ac547cb717d141c433a2a173315e216b64c4"
[[projects]]
+ digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405"
+ name = "golang.org/x/text"
+ packages = [
+ "collate",
+ "collate/build",
+ "internal/colltab",
+ "internal/gen",
+ "internal/language",
+ "internal/language/compact",
+ "internal/tag",
+ "internal/triegen",
+ "internal/ucd",
+ "language",
+ "secure/bidirule",
+ "transform",
+ "unicode/bidi",
+ "unicode/cldr",
+ "unicode/norm",
+ "unicode/rangetable",
+ ]
+ pruneopts = "UT"
+ revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475"
+ version = "v0.3.2"
+
+[[projects]]
+ branch = "master"
+ digest = "1:23dd3fce7112bfe3398e02c3d31da8ed4e657b3a37d37c21bea9a091c6505ac0"
+ name = "google.golang.org/genproto"
+ packages = [
+ "googleapis/api/annotations",
+ "googleapis/rpc/status",
+ ]
+ pruneopts = "UT"
+ revision = "bca184e23272c97429f0cb78a825f71ede0635fc"
+
+[[projects]]
+ digest = "1:712fa3cb36bfb9e0d333e10f8dcb9b1e64aa2ec30cabed56c114b5e64d775823"
+ name = "google.golang.org/grpc"
+ packages = [
+ ".",
+ "attributes",
+ "backoff",
+ "balancer",
+ "balancer/base",
+ "balancer/roundrobin",
+ "binarylog/grpc_binarylog_v1",
+ "codes",
+ "connectivity",
+ "credentials",
+ "credentials/internal",
+ "encoding",
+ "encoding/proto",
+ "grpclog",
+ "internal",
+ "internal/backoff",
+ "internal/balancerload",
+ "internal/binarylog",
+ "internal/buffer",
+ "internal/channelz",
+ "internal/envconfig",
+ "internal/grpclog",
+ "internal/grpcrand",
+ "internal/grpcsync",
+ "internal/grpcutil",
+ "internal/resolver/dns",
+ "internal/resolver/passthrough",
+ "internal/status",
+ "internal/syscall",
+ "internal/transport",
+ "keepalive",
+ "metadata",
+ "naming",
+ "peer",
+ "resolver",
+ "serviceconfig",
+ "stats",
+ "status",
+ "tap",
+ ]
+ pruneopts = "UT"
+ revision = "754ee590a4f386d0910d887f3b8776354042260b"
+ version = "v1.29.1"
+
+[[projects]]
+ digest = "1:e98a83a6464ab71657c759d986a8a1dd9757885bc6c0e4167dffa9f5233c97cf"
+ name = "google.golang.org/protobuf"
+ packages = [
+ "encoding/prototext",
+ "encoding/protowire",
+ "internal/descfmt",
+ "internal/descopts",
+ "internal/detrand",
+ "internal/encoding/defval",
+ "internal/encoding/messageset",
+ "internal/encoding/tag",
+ "internal/encoding/text",
+ "internal/errors",
+ "internal/fieldnum",
+ "internal/fieldsort",
+ "internal/filedesc",
+ "internal/filetype",
+ "internal/flags",
+ "internal/genname",
+ "internal/impl",
+ "internal/mapsort",
+ "internal/pragma",
+ "internal/set",
+ "internal/strs",
+ "internal/version",
+ "proto",
+ "reflect/protoreflect",
+ "reflect/protoregistry",
+ "runtime/protoiface",
+ "runtime/protoimpl",
+ "types/descriptorpb",
+ "types/known/anypb",
+ "types/known/durationpb",
+ "types/known/emptypb",
+ "types/known/timestamppb",
+ ]
+ pruneopts = "UT"
+ revision = "3b9eee12916ce611400f93d6c2fed2fc2911b0ad"
+ version = "v1.21.0"
+
+[[projects]]
digest = "1:c902038ee2d6f964d3b9f2c718126571410c5d81251cbab9fe58abd37803513c"
name = "gopkg.in/jcmturner/aescts.v1"
packages = ["."]
@@ -299,6 +448,8 @@
input-imports = [
"github.com/Shopify/sarama",
"github.com/gfremex/logrus-kafka-hook",
+ "github.com/golang/protobuf/proto",
+ "github.com/opencord/voltha-protos/go/voltha",
"github.com/prometheus/client_golang/prometheus",
"github.com/prometheus/client_golang/prometheus/promhttp",
"github.com/sirupsen/logrus",
diff --git a/Gopkg.toml b/Gopkg.toml
index ebbf24e..be6f760 100644
--- a/Gopkg.toml
+++ b/Gopkg.toml
@@ -62,3 +62,7 @@
[prune]
go-tests = true
unused-packages = true
+
+[[constraint]]
+ name = "github.com/golang/protobuf"
+ version = "1.3.2"
diff --git a/config/conf.yaml b/config/conf.yaml
index 398e4f2..a1ec3fa 100644
--- a/config/conf.yaml
+++ b/config/conf.yaml
@@ -8,7 +8,7 @@
- onos.kpis
- onos.aaa.stats.kpis
- bng.stats
- - voltha.kpis
+ - voltha.events
logger:
loglevel: debug
host: cord-kafka.default.svc.cluster.local:9092
diff --git a/main.go b/main.go
index 752882b..6838cd7 100644
--- a/main.go
+++ b/main.go
@@ -71,23 +71,80 @@
err := http.ListenAndServe(":"+strconv.Itoa(target.Port), nil)
if err != nil {
logger.Error("HTTP Server Error: %s", err.Error())
- }
+ }
}
func init() {
// register metrics within Prometheus
- prometheus.MustRegister(volthaTxBytesTotal)
- prometheus.MustRegister(volthaRxBytesTotal)
- prometheus.MustRegister(volthaTxPacketsTotal)
- prometheus.MustRegister(volthaRxPacketsTotal)
- prometheus.MustRegister(volthaTxErrorPacketsTotal)
- prometheus.MustRegister(volthaRxErrorPacketsTotal)
+ prometheus.MustRegister(volthaOltTxBytesTotal)
+ prometheus.MustRegister(volthaOltRxBytesTotal)
+ prometheus.MustRegister(volthaOltTxPacketsTotal)
+ prometheus.MustRegister(volthaOltRxPacketsTotal)
+ prometheus.MustRegister(volthaOltTxErrorPacketsTotal)
+ prometheus.MustRegister(volthaOltRxErrorPacketsTotal)
+ prometheus.MustRegister(volthaOltTxBroadcastPacketsTotal)
+ prometheus.MustRegister(volthaOltTxUnicastPacketsTotal)
+ prometheus.MustRegister(volthaOltTxMulticastPacketsTotal)
+ prometheus.MustRegister(volthaOltRxBroadcastPacketsTotal)
+ prometheus.MustRegister(volthaOltRxUnicastPacketsTotal)
+ prometheus.MustRegister(volthaOltRxMulticastPacketsTotal)
prometheus.MustRegister(VolthaOnuLaserBiasCurrent)
prometheus.MustRegister(volthaOnuTemperature)
prometheus.MustRegister(VolthaOnuPowerFeedVoltage)
prometheus.MustRegister(VolthaOnuMeanOpticalLaunchPower)
prometheus.MustRegister(VolthaOnuReceivedOpticalPower)
+ prometheus.MustRegister(VolthaOnuTransmtOpticalPower)
+
+ prometheus.MustRegister(volthaOnuFecCorrectedCodewordsTotal)
+ prometheus.MustRegister(volthaOnuFecCodewordsTotal)
+ prometheus.MustRegister(volthaOnuFecCorrectedBytesTotal)
+ prometheus.MustRegister(volthaOnuFecSecondsTotal)
+ prometheus.MustRegister(volthaOnuFecUncorrectablewordsTotal)
+
+ prometheus.MustRegister(volthaEthernetUniSingleCollisionTotal)
+ prometheus.MustRegister(volthaEthernetUniMacLayerTramsmitErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniMultiCollisionTotal)
+ prometheus.MustRegister(volthaEthernetUniFramestooLongTotal)
+ prometheus.MustRegister(volthaEthernetUniAlignmentErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniCarrierErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniExcessiveCollisionErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniDeferredTxTotal)
+ prometheus.MustRegister(volthaEthernetUniLateCollisionTotal)
+ prometheus.MustRegister(volthaEthernetUniBufferOverflowsRxErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniFcsErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniSqeErrorTotal)
+ prometheus.MustRegister(volthaEthernetUniBufferOverflowsTxErrorTotal)
+
+ prometheus.MustRegister(volthaOnuBridgePortRxBytesTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_64octetRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_65_127_octetRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_128_255_octetRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_256_511_octetRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_512_1023_octetRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_1024_1518_octetRxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxMulticastPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxBroadcastPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxOversizePacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxCrcErrorPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxUndersizePacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortRxDropEventsTotal)
+
+ prometheus.MustRegister(volthaOnuBridgePortTxBytesTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_64octetTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_65_127_octetTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_128_255_octetTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_256_511_octetTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_512_1023_octetTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePort_1024_1518_octetTxPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxMulticastPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxBroadcastPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxOversizePacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxCrcErrorPacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxUndersizePacketsTotal)
+ prometheus.MustRegister(volthaOnuBridgePortTxDropEventsTotal)
prometheus.MustRegister(onosTxBytesTotal)
prometheus.MustRegister(onosRxBytesTotal)
@@ -134,7 +191,7 @@
prometheus.MustRegister(onosaaaEapPktTxAuthChooseEap)
prometheus.MustRegister(onosaaaTxRespnotNak)
- prometheus.MustRegister(onosaaaEapolFramesTx)
+ prometheus.MustRegister(onosaaaEapolFramesTx)
prometheus.MustRegister(onosaaaAuthStateIdle)
prometheus.MustRegister(onosaaaRequestIdFramesTx)
prometheus.MustRegister(onosaaaRequestEapFramesTx)
diff --git a/topic-exporter.go b/topic-exporter.go
index 4532c28..2923c87 100644
--- a/topic-exporter.go
+++ b/topic-exporter.go
@@ -17,6 +17,8 @@
import (
"encoding/json"
"gerrit.opencord.org/kafka-topic-exporter/common/logger"
+ "github.com/golang/protobuf/proto"
+ "github.com/opencord/voltha-protos/go/voltha"
"github.com/prometheus/client_golang/prometheus"
log "github.com/sirupsen/logrus"
"strconv"
@@ -25,51 +27,99 @@
var (
// voltha kpis
- volthaTxBytesTotal = prometheus.NewGaugeVec(
+ volthaOltTxBytesTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
- Name: "voltha_tx_bytes_total",
+ Name: "voltha_olt_tx_bytes_total",
Help: "Number of total bytes transmitted",
},
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
- volthaRxBytesTotal = prometheus.NewGaugeVec(
+ volthaOltRxBytesTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
- Name: "voltha_rx_bytes_total",
+ Name: "voltha_olt_rx_bytes_total",
Help: "Number of total bytes received",
},
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
- volthaTxPacketsTotal = prometheus.NewGaugeVec(
+ volthaOltTxPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
- Name: "voltha_tx_packets_total",
+ Name: "voltha_olt_tx_packets_total",
Help: "Number of total packets transmitted",
},
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
- volthaRxPacketsTotal = prometheus.NewGaugeVec(
+ volthaOltRxPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
- Name: "voltha_rx_packets_total",
+ Name: "voltha_olt_rx_packets_total",
Help: "Number of total packets received",
},
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
- volthaTxErrorPacketsTotal = prometheus.NewGaugeVec(
+ volthaOltTxErrorPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
- Name: "voltha_tx_error_packets_total",
+ Name: "voltha_olt_tx_error_packets_total",
Help: "Number of total transmitted packets error",
},
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
- volthaRxErrorPacketsTotal = prometheus.NewGaugeVec(
+ volthaOltRxErrorPacketsTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
- Name: "voltha_rx_error_packets_total",
+ Name: "voltha_olt_rx_error_packets_total",
Help: "Number of total received packets error",
},
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
+ volthaOltTxBroadcastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_olt_tx_broadcast_packets_total",
+ Help: "Number of total broadcast packets transmitted",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
+ volthaOltTxUnicastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_olt_tx_unicast_packets_total",
+ Help: "Number of total unicast packets transmitted",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
+ volthaOltTxMulticastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_olt_tx_multicast_packets_total",
+ Help: "Number of total multicast packets transmitted",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
+ volthaOltRxBroadcastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_olt_rx_broadcast_packets_total",
+ Help: "Number of total broadcast packets received",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
+ volthaOltRxUnicastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_olt_rx_unicast_packets_total",
+ Help: "Number of total unicast packets received",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
+ volthaOltRxMulticastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_olt_rx_multicast_packets_total",
+ Help: "Number of total multicast packets received",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
// optical parameters
VolthaOnuLaserBiasCurrent = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
@@ -111,6 +161,363 @@
[]string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
)
+ VolthaOnuTransmtOpticalPower = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_transmit_optical_power",
+ Help: "ONU transmited optical power",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "pon_id", "port_number", "title"},
+ )
+
+ // FEC parameters
+ volthaOnuFecCorrectedCodewordsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_fec_corrected_code_words",
+ Help: "Number of total code words corrected",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuFecCodewordsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_fec_code_words_total",
+ Help: "Number of total code words",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuFecCorrectedBytesTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_fec_corrected_bytes_total",
+ Help: "Number of total corrected bytes",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuFecSecondsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_fec_corrected_fec_seconds_total",
+ Help: "Number of fec seconds total",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuFecUncorrectablewordsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_fec_uncorrectable_words_total",
+ Help: "Number of fec uncorrectable words",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ //Etheret UNI
+
+ volthaEthernetUniSingleCollisionTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_single_collision_frame_counter",
+ Help: "successfully transmitted frames but delayed by exactly one collision.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+
+ volthaEthernetUniMacLayerTramsmitErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_internal_mac_rx_error_counter",
+ Help: "transmission failed due to an internal MAC sublayer transmit error.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+
+ volthaEthernetUniMultiCollisionTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_multiple_collisions_frame_counter",
+ Help: "successfully transmitted frames but delayed by multiple collisions.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+
+ volthaEthernetUniFramestooLongTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_frames_too_long",
+ Help: "frames that exceeded the maximum permitted frame size.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+
+ volthaEthernetUniAlignmentErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_alignment_error_counter",
+ Help: "frames that were not an integral number of octets in length and did not pass the FCS check.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniCarrierErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_carrier_sense_error_counter",
+ Help: "number of times that carrier sense was lost or never asserted when attempting to transmit a frame.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniExcessiveCollisionErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_excessive_collision_counter",
+ Help: "frames whose transmission failed due to excessive collisions.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniDeferredTxTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_deferred_tx_counter",
+ Help: "frames whose first transmission attempt was delayed because the medium was busy.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniLateCollisionTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_late_collision_counter",
+ Help: "number of times that a collision was detected later than 512 bit times into the transmission of a packet.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniBufferOverflowsRxErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_buffer_overflows_on_rx",
+ Help: "number of times that the receive buffer overflowed.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniFcsErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_fcs_errors",
+ Help: " frames failed the frame check sequence (FCS) check.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniSqeErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_sqe_counter",
+ Help: "number of times that the SQE test error message was generated by the PLS sublayer",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ volthaEthernetUniBufferOverflowsTxErrorTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_ethernet_uni_buffer_overflows_on_tx",
+ Help: " number of times that the transmit buffer overflowed.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "interface_id", "port_number", "title"},
+ )
+ //Ethernet_Bridge_Port
+
+ volthaOnuBridgePortTxBytesTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_tx_bytes_total",
+ Help: "Number of total bytes transmitted",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxBytesTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_rx_bytes_total",
+ Help: "Number of total bytes received",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_tx_packets_total",
+ Help: "Number of total packets transmitted",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_rx_packets_total",
+ Help: "Number of total packets received",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_64octetTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_64_octets_Txpackets",
+ Help: "packets (including bad packets) that were 64 octets long",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_65_127_octetTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_65_to_127_octet_Txpackets",
+ Help: "packets (including bad packets) that were 65..127 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_128_255_octetTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_128_to_255_octet_Txpackets",
+ Help: "packets (including bad packets) received that were 128..255 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_256_511_octetTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_256_to_511_octet_Txpackets",
+ Help: "packets (including bad packets) received that were 256..511 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_512_1023_octetTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_512_to_1023_octet_Txpackets",
+ Help: "packets (including bad packets) received that were 512..1 023 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_1024_1518_octetTxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_1024_to_1518_octet_Txpackets",
+ Help: "packets (including bad packets) received that were 1024..1518 octets long, excluding framing bits, but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortTxMulticastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_multicast_Txpackets",
+ Help: "packets received that were directed to a multicast address.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortTxBroadcastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_broadcast_Txpackets",
+ Help: "packets received that were directed to the broadcast address.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortTxOversizePacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_oversize_Txpackets",
+ Help: " packets received that were longer than 1518 octets",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortTxCrcErrorPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_crc_errored_Txpackets",
+ Help: "Packets with CRC errors",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortTxUndersizePacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_undersize_Txpackets",
+ Help: "Packets received that were less than 64 octets long, but were otherwise well formed",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePortTxDropEventsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_Txdrop_events",
+ Help: "total number of events in which packets were dropped due to a lack of resources. ",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePort_64octetRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_64_octets_Rxpackets",
+ Help: "packets (including bad packets) that were 64 octets long",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_65_127_octetRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_65_to_127_octet_Rxpackets",
+ Help: "packets (including bad packets) that were 65..127 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_128_255_octetRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_128_to_255_octet_packets",
+ Help: "packets (including bad packets) received that were 128..255 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_256_511_octetRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_256_to_511_octet_Rxpackets",
+ Help: "packets (including bad packets) received that were 256..511 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_512_1023_octetRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_512_to_1023_octet_Rxpackets",
+ Help: "packets (including bad packets) received that were 512..1 023 octets long, excluding framing bits but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePort_1024_1518_octetRxPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_1024_to_1518_octet_Rxpackets",
+ Help: "packets (including bad packets) received that were 1024..1518 octets long, excluding framing bits, but including FCS.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxMulticastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_multicast_Rxpackets",
+ Help: "packets received that were directed to a multicast address.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxBroadcastPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_broadcast_Rxpackets",
+ Help: "packets received that were directed to the broadcast address.",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxOversizePacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_oversize_Rxpackets",
+ Help: " packets received that were longer than 1518 octets",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxCrcErrorPacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_crc_errored_Rxpackets",
+ Help: "Packets with CRC errors",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+ volthaOnuBridgePortRxUndersizePacketsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_undersize_Rxpackets",
+ Help: "Packets received that were less than 64 octets long, but were otherwise well formed",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
+ volthaOnuBridgePortRxDropEventsTotal = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Name: "voltha_onu_bridge_port_Rxdrop_events",
+ Help: "total number of events in which packets were dropped due to a lack of resources. ",
+ },
+ []string{"logical_device_id", "serial_number", "device_id", "title"},
+ )
+
// onos kpis
onosTxBytesTotal = prometheus.NewGaugeVec(
prometheus.GaugeOpts{
@@ -433,249 +840,527 @@
})
)
-func exportVolthaKPI(kpi VolthaKPI) {
+func exportVolthaEthernetPonStats(data *voltha.MetricInformation) {
- for _, data := range kpi.SliceDatas {
- switch title := data.Metadata.Title; title {
- case "Ethernet", "PON":
- volthaTxBytesTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.TxBytes)
+ volthaOltTxBytesTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["TxBytes"]))
- volthaRxBytesTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.RxBytes)
+ volthaOltRxBytesTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["RxBytes"]))
- volthaTxPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.TxPackets)
+ volthaOltTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["TxPackets"]))
- volthaRxPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.RxPackets)
+ volthaOltRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["RxPackets"]))
- volthaTxErrorPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.TxErrorPackets)
+ volthaOltTxErrorPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["TxErrorPackets"]))
- volthaRxErrorPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.RxErrorPackets)
+ volthaOltRxErrorPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["RxErrorPackets"]))
- // TODO add metrics for:
- // TxBcastPackets
- // TxUnicastPackets
- // TxMulticastPackets
- // RxBcastPackets
- // RxMulticastPackets
+ volthaOltTxBroadcastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["TxBcastPackets"]))
+ volthaOltTxUnicastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["TxUcastPackets"]))
+
+ volthaOltTxMulticastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["TxMcastPackets"]))
+
+ volthaOltRxBroadcastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["RxBcastPackets"]))
+
+ volthaOltRxUnicastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["RxUcastPackets"]))
+
+ volthaOltRxMulticastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ "NA", // InterfaceID
+ "NA", // PonID
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["RxMcastPackets"]))
+}
+
+func exportVolthaOnuEthernetBridgePortStats(data *voltha.MetricInformation) {
+
+ if (data.GetMetadata().GetContext()["upstream"]) == "True" {
+ // ONU. Extended Ethernet statistics.
+ volthaOnuBridgePortTxPacketsTotal.WithLabelValues(
+ data.Metadata.GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["packets"]))
+
+ volthaOnuBridgePortTxBytesTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["octets"]))
+
+ volthaOnuBridgePort_64octetTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["64_octets"]))
+
+ volthaOnuBridgePort_65_127_octetTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["65_to_127_octets"]))
+
+ volthaOnuBridgePort_128_255_octetTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["128_to_255_octets"]))
+
+ volthaOnuBridgePort_256_511_octetTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["256_to_511_octets"]))
+
+ volthaOnuBridgePort_512_1023_octetTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["512_to_1023_octets"]))
+
+ volthaOnuBridgePort_1024_1518_octetTxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["1024_to_1518_octets"]))
+
+ volthaOnuBridgePortTxMulticastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["multicast_packets"]))
+
+ volthaOnuBridgePortTxBroadcastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["broadcast_packets"]))
+
+ volthaOnuBridgePortTxOversizePacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["oversize_packets"]))
+
+ volthaOnuBridgePortTxCrcErrorPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["crc_errored_packets"]))
+
+ volthaOnuBridgePortTxUndersizePacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["undersize_packets"]))
+
+ volthaOnuBridgePortTxDropEventsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["drop_events"]))
+
+ } else {
+
+ // ONU. Extended Ethernet statistics.
+ volthaOnuBridgePortRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["packets"]))
+
+ volthaOnuBridgePortRxBytesTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["octets"]))
+
+ volthaOnuBridgePort_64octetRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["64_octets"]))
+
+ volthaOnuBridgePort_65_127_octetRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["65_to_127_octets"]))
+
+ volthaOnuBridgePort_128_255_octetRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["128_to_255_octets"]))
+
+ volthaOnuBridgePort_256_511_octetRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["256_to_511_octets"]))
+
+ volthaOnuBridgePort_512_1023_octetRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["512_to_1023_octets"]))
+
+ volthaOnuBridgePort_1024_1518_octetRxPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["1024_to_1518_octets"]))
+
+ volthaOnuBridgePortRxMulticastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["multicast_packets"]))
+
+ volthaOnuBridgePortRxBroadcastPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["broadcast_packets"]))
+
+ volthaOnuBridgePortRxOversizePacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["oversize_packets"]))
+
+ volthaOnuBridgePortRxCrcErrorPacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["crc_errored_packets"]))
+
+ volthaOnuBridgePortRxUndersizePacketsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["undersize_packets"]))
+
+ volthaOnuBridgePortRxDropEventsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.Metadata.GetSerialNo(),
+ data.Metadata.GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Add(float64(data.GetMetrics()["drop_events"]))
+
+ }
+}
+
+func exportVolthaOnuPonOpticalStats(data *voltha.MetricInformation) {
+ VolthaOnuTransmtOpticalPower.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ "NA", // PonID,
+ "NA", //PortNumber
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["transmit_power"]))
+
+ VolthaOnuReceivedOpticalPower.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ "NA", // PonID,
+ "NA", //PortNumber
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["receive_power"]))
+}
+func exportVolthaOnuFecStats(data *voltha.MetricInformation) {
+ volthaOnuFecCorrectedCodewordsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["corrected_code_words"]))
+
+ volthaOnuFecCodewordsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["total_code_words"]))
+
+ volthaOnuFecCorrectedBytesTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["corrected_bytes"]))
+
+ volthaOnuFecSecondsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["fec_seconds"]))
+
+ volthaOnuFecUncorrectablewordsTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["uncorrectable_code_words"]))
+}
+func exportVolthaOnuEthernetUniStats(data *voltha.MetricInformation) {
+
+ volthaEthernetUniSingleCollisionTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["single_collision_frame_counter"]))
+
+ volthaEthernetUniMacLayerTramsmitErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["internal_mac_rx_error_counter"]))
+
+ volthaEthernetUniMultiCollisionTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["multiple_collisions_frame_counter"]))
+
+ volthaEthernetUniFramestooLongTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["frames_too_long"]))
+ volthaEthernetUniAlignmentErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["alignment_error_counter"]))
+
+ volthaEthernetUniCarrierErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["carrier_sense_error_counter"]))
+ volthaEthernetUniExcessiveCollisionErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["excessive_collision_counter"]))
+
+ volthaEthernetUniDeferredTxTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["deferred_tx_counter"]))
+
+ volthaEthernetUniLateCollisionTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["late_collision_counter"]))
+
+ volthaEthernetUniBufferOverflowsRxErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()[""]))
+
+ volthaEthernetUniFcsErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["fcs_errors"]))
+
+ volthaEthernetUniSqeErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["sqe_counter"]))
+
+ volthaEthernetUniBufferOverflowsTxErrorTotal.WithLabelValues(
+ data.GetMetadata().GetLogicalDeviceId(),
+ data.GetMetadata().GetSerialNo(),
+ data.GetMetadata().GetDeviceId(),
+ data.GetMetadata().GetContext()["intf_id"],
+ data.GetMetadata().GetContext()["portno"],
+ data.GetMetadata().GetTitle(),
+ ).Set(float64(data.GetMetrics()["buffer_overflows_on_tx"]))
+
+}
+
+func exportVolthaKPIevent2(kpi *voltha.KpiEvent2) {
+ for _, data := range kpi.GetSliceData() {
+ switch title := data.GetMetadata().GetTitle(); title {
+ case "ETHERNET_NNI", "PON_OLT":
+ exportVolthaEthernetPonStats(data)
case "Ethernet_Bridge_Port_History":
- if data.Metadata.Context.Upstream == "True" {
- // ONU. Extended Ethernet statistics.
- volthaTxPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- "NA", // InterfaceID
- "NA", // PonID
- "NA", // PortNumber
- data.Metadata.Title,
- ).Add(data.Metrics.Packets)
-
- volthaTxBytesTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- "NA", // InterfaceID
- "NA", // PonID
- "NA", // PortNumber
- data.Metadata.Title,
- ).Add(data.Metrics.Octets)
- } else {
- // ONU. Extended Ethernet statistics.
- volthaRxPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- "NA", // InterfaceID
- "NA", // PonID
- "NA", // PortNumber
- data.Metadata.Title,
- ).Add(data.Metrics.Packets)
-
- volthaRxBytesTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- "NA", // InterfaceID
- "NA", // PonID
- "NA", // PortNumber
- data.Metadata.Title,
- ).Add(data.Metrics.Octets)
- }
-
+ exportVolthaOnuEthernetBridgePortStats(data)
case "PON_Optical":
- VolthaOnuLaserBiasCurrent.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.LaserBiasCurrent)
-
- volthaOnuTemperature.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.Temperature)
-
- VolthaOnuPowerFeedVoltage.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.PowerFeedVoltage)
-
- VolthaOnuMeanOpticalLaunchPower.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.MeanOpticalLaunchPower)
-
- VolthaOnuReceivedOpticalPower.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.ReceivedOpticalPower)
-
+ exportVolthaOnuPonOpticalStats(data)
case "Ethernet_UNI_History":
- // ONU. Do nothing.
-
+ exportVolthaOnuEthernetUniStats(data)
case "FEC_History":
- // ONU. Do Nothing.
+ exportVolthaOnuFecStats(data)
+ case "UNI_Status":
+ // Do nothing.
- volthaTxBytesTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.TxBytes)
-
- volthaRxBytesTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.RxBytes)
-
- volthaTxPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.TxPackets)
-
- volthaRxPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.RxPackets)
-
- volthaTxErrorPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.TxErrorPackets)
-
- volthaRxErrorPacketsTotal.WithLabelValues(
- data.Metadata.LogicalDeviceID,
- data.Metadata.SerialNumber,
- data.Metadata.DeviceID,
- data.Metadata.Context.InterfaceID,
- data.Metadata.Context.PonID,
- data.Metadata.Context.PortNumber,
- data.Metadata.Title,
- ).Set(data.Metrics.RxErrorPackets)
-
- // TODO add metrics for:
- // TxBcastPackets
- // TxUnicastPackets
- // TxMulticastPackets
- // RxBcastPackets
- // RxMulticastPackets
-
- case "voltha.internal":
- // Voltha Internal. Do nothing.
}
}
}
@@ -953,14 +1638,19 @@
func export(topic *string, data []byte) {
switch *topic {
- case "voltha.kpis":
- kpi := VolthaKPI{}
- err := json.Unmarshal(data, &kpi)
+ case "voltha.events":
+ event := voltha.Event{}
+ err := proto.Unmarshal(data, &event)
if err != nil {
logger.Error("Invalid msg on voltha.kpis: %s, Unprocessed Msg: %s", err.Error(), string(data))
break
}
- exportVolthaKPI(kpi)
+ if event.GetHeader().GetType() == voltha.EventType_KPI_EVENT2 {
+ logger.Debug("KPI_EVENT2 received on voltha.events")
+ kpiEvent2 := event.GetKpiEvent2()
+ exportVolthaKPIevent2(kpiEvent2)
+ }
+
case "onos.kpis":
kpi := OnosKPI{}
err := json.Unmarshal(data, &kpi)