| 73 | ) |
| 74 | |
| 75 | func initPacketStats(nodeID string, nodeType livekit.NodeType) { |
| 76 | promPacketTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 77 | Namespace: livekitNamespace, |
| 78 | Subsystem: "packet", |
| 79 | Name: "total", |
| 80 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 81 | }, promPacketLabels) |
| 82 | promPacketBytes = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 83 | Namespace: livekitNamespace, |
| 84 | Subsystem: "packet", |
| 85 | Name: "bytes", |
| 86 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 87 | }, promPacketLabels) |
| 88 | promNackTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 89 | Namespace: livekitNamespace, |
| 90 | Subsystem: "nack", |
| 91 | Name: "total", |
| 92 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 93 | }, promRTCPLabels) |
| 94 | promPliTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 95 | Namespace: livekitNamespace, |
| 96 | Subsystem: "pli", |
| 97 | Name: "total", |
| 98 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 99 | }, promRTCPLabels) |
| 100 | promFirTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 101 | Namespace: livekitNamespace, |
| 102 | Subsystem: "fir", |
| 103 | Name: "total", |
| 104 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 105 | }, promRTCPLabels) |
| 106 | promPacketLossTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 107 | Namespace: livekitNamespace, |
| 108 | Subsystem: "packet_loss", |
| 109 | Name: "total", |
| 110 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 111 | }, promStreamLabels) |
| 112 | promPacketLoss = prometheus.NewHistogramVec(prometheus.HistogramOpts{ |
| 113 | Namespace: livekitNamespace, |
| 114 | Subsystem: "packet_loss", |
| 115 | Name: "percent", |
| 116 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 117 | Buckets: []float64{0.0, 0.1, 0.3, 0.5, 0.7, 1, 5, 10, 40, 100}, |
| 118 | }, promStreamLabels) |
| 119 | promPacketOutOfOrderTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ |
| 120 | Namespace: livekitNamespace, |
| 121 | Subsystem: "packet_out_of_order", |
| 122 | Name: "total", |
| 123 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 124 | }, promStreamLabels) |
| 125 | promPacketOutOfOrder = prometheus.NewHistogramVec(prometheus.HistogramOpts{ |
| 126 | Namespace: livekitNamespace, |
| 127 | Subsystem: "packet_out_of_order", |
| 128 | Name: "percent", |
| 129 | ConstLabels: prometheus.Labels{"node_id": nodeID, "node_type": nodeType.String()}, |
| 130 | Buckets: []float64{0.0, 0.1, 0.3, 0.5, 0.7, 1, 5, 10, 40, 100}, |
| 131 | }, promStreamLabels) |
| 132 | promJitter = prometheus.NewHistogramVec(prometheus.HistogramOpts{ |