Add new RemoteFX network metrics (#1489)
This commit is contained in:
parent
c242fae84c
commit
9c65b7464f
|
@ -24,10 +24,15 @@ Name | Description | Type | Labels
|
||||||
`windows_remote_fx_net_current_tcp_rtt_seconds` | Average TCP round-trip time (RTT) detected in seconds. | gauge | `session_name`
|
`windows_remote_fx_net_current_tcp_rtt_seconds` | Average TCP round-trip time (RTT) detected in seconds. | gauge | `session_name`
|
||||||
`windows_remote_fx_net_current_udp_bandwidth` | UDP Bandwidth detected in bytes per second. | gauge | `session_name`
|
`windows_remote_fx_net_current_udp_bandwidth` | UDP Bandwidth detected in bytes per second. | gauge | `session_name`
|
||||||
`windows_remote_fx_net_current_udp_rtt_seconds` | Average UDP round-trip time (RTT) detected in seconds. | gauge | `session_name`
|
`windows_remote_fx_net_current_udp_rtt_seconds` | Average UDP round-trip time (RTT) detected in seconds. | gauge | `session_name`
|
||||||
`windows_remote_fx_net_received_bytes_total` | _Not yet documented_ | counter | `session_name`
|
`windows_remote_fx_net_received_bytes_total` | Total bytes received over the network session. | counter | `session_name`
|
||||||
`windows_remote_fx_net_sent_bytes_total` | _Not yet documented_ | counter | `session_name`
|
`windows_remote_fx_net_sent_bytes_total` | Total bytes sent over the network session. | counter | `session_name`
|
||||||
`windows_remote_fx_net_udp_packets_received_total` | Rate in packets per second at which packets are received over UDP. | counter | `session_name`
|
`windows_remote_fx_net_udp_packets_received_total` | Rate in packets per second at which packets are received over UDP. | counter | `session_name`
|
||||||
`windows_remote_fx_net_udp_packets_sent_total` | Rate in packets per second at which packets are sent over UDP. | counter | `session_name`
|
`windows_remote_fx_net_udp_packets_sent_total` | Rate in packets per second at which packets are sent over UDP. | counter | `session_name`
|
||||||
|
`windows_remote_fx_net_loss_rate` | Network packet loss rate detected over the RemoteFX session, expressed as a percentage. | counter | `session_name`
|
||||||
|
`windows_remote_fx_net_fec_rate` | Forward Error Correction (FEC) rate applied to packets sent over the RemoteFX session, expressed as a percentage. | counter | `session_name`
|
||||||
|
`windows_remote_fx_net_retransmission_rate` Rate of packets retransmitted over the RemoteFX session, expressed as a percentage. | counter | `session_name`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Metrics (Graphics)
|
## Metrics (Graphics)
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,9 @@ type collector struct {
|
||||||
TotalSentBytes *prometheus.Desc
|
TotalSentBytes *prometheus.Desc
|
||||||
UDPPacketsReceivedPersec *prometheus.Desc
|
UDPPacketsReceivedPersec *prometheus.Desc
|
||||||
UDPPacketsSentPersec *prometheus.Desc
|
UDPPacketsSentPersec *prometheus.Desc
|
||||||
|
FECRate *prometheus.Desc
|
||||||
|
LossRate *prometheus.Desc
|
||||||
|
RetransmissionRate *prometheus.Desc
|
||||||
|
|
||||||
// gfx
|
// gfx
|
||||||
AverageEncodingTime *prometheus.Desc
|
AverageEncodingTime *prometheus.Desc
|
||||||
|
@ -134,6 +137,24 @@ func (c *collector) Build() error {
|
||||||
[]string{"session_name"},
|
[]string{"session_name"},
|
||||||
nil,
|
nil,
|
||||||
)
|
)
|
||||||
|
c.FECRate = prometheus.NewDesc(
|
||||||
|
prometheus.BuildFQName(types.Namespace, Name, "net_fec_rate"),
|
||||||
|
"Forward Error Correction (FEC) percentage",
|
||||||
|
[]string{"session_name"},
|
||||||
|
nil,
|
||||||
|
)
|
||||||
|
c.LossRate = prometheus.NewDesc(
|
||||||
|
prometheus.BuildFQName(types.Namespace, Name, "net_loss_rate"),
|
||||||
|
"Loss percentage",
|
||||||
|
[]string{"session_name"},
|
||||||
|
nil,
|
||||||
|
)
|
||||||
|
c.RetransmissionRate = prometheus.NewDesc(
|
||||||
|
prometheus.BuildFQName(types.Namespace, Name, "net_retransmission_rate"),
|
||||||
|
"Percentage of packets that have been retransmitted",
|
||||||
|
[]string{"session_name"},
|
||||||
|
nil,
|
||||||
|
)
|
||||||
|
|
||||||
// gfx
|
// gfx
|
||||||
c.AverageEncodingTime = prometheus.NewDesc(
|
c.AverageEncodingTime = prometheus.NewDesc(
|
||||||
|
@ -207,6 +228,9 @@ type perflibRemoteFxNetwork struct {
|
||||||
TotalSentBytes float64 `perflib:"Total Sent Bytes"`
|
TotalSentBytes float64 `perflib:"Total Sent Bytes"`
|
||||||
UDPPacketsReceivedPersec float64 `perflib:"UDP Packets Received/sec"`
|
UDPPacketsReceivedPersec float64 `perflib:"UDP Packets Received/sec"`
|
||||||
UDPPacketsSentPersec float64 `perflib:"UDP Packets Sent/sec"`
|
UDPPacketsSentPersec float64 `perflib:"UDP Packets Sent/sec"`
|
||||||
|
FECRate float64 `perflib:"Forward Error Correction (FEC) percentage"`
|
||||||
|
LossRate float64 `perflib:"Loss percentage"`
|
||||||
|
RetransmissionRate float64 `perflib:"Percentage of packets that have been retransmitted"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *collector) collectRemoteFXNetworkCount(ctx *types.ScrapeContext, ch chan<- prometheus.Metric) error {
|
func (c *collector) collectRemoteFXNetworkCount(ctx *types.ScrapeContext, ch chan<- prometheus.Metric) error {
|
||||||
|
@ -282,6 +306,26 @@ func (c *collector) collectRemoteFXNetworkCount(ctx *types.ScrapeContext, ch cha
|
||||||
d.UDPPacketsSentPersec,
|
d.UDPPacketsSentPersec,
|
||||||
d.Name,
|
d.Name,
|
||||||
)
|
)
|
||||||
|
ch <- prometheus.MustNewConstMetric(
|
||||||
|
c.FECRate,
|
||||||
|
prometheus.GaugeValue,
|
||||||
|
d.FECRate,
|
||||||
|
d.Name,
|
||||||
|
)
|
||||||
|
|
||||||
|
ch <- prometheus.MustNewConstMetric(
|
||||||
|
c.LossRate,
|
||||||
|
prometheus.GaugeValue,
|
||||||
|
d.LossRate,
|
||||||
|
d.Name,
|
||||||
|
)
|
||||||
|
|
||||||
|
ch <- prometheus.MustNewConstMetric(
|
||||||
|
c.RetransmissionRate,
|
||||||
|
prometheus.GaugeValue,
|
||||||
|
d.RetransmissionRate,
|
||||||
|
d.Name,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue