mirror of
https://github.com/minio/minio.git
synced 2025-11-07 21:02:58 -05:00
Add per connection RPC metrics (#19852)
Provides individual and aggregate stats for each RPC connection.
Example:
```
"rpc": {
"collectedAt": "2024-05-31T14:33:29.1373103+02:00",
"connected": 30,
"disconnected": 0,
"outgoingStreams": 69,
"incomingStreams": 0,
"outgoingBytes": 174822796,
"incomingBytes": 175821566,
"outgoingMessages": 768595,
"incomingMessages": 768589,
"outQueue": 0,
"lastPongTime": "2024-05-31T12:33:28Z",
"byDestination": {
"http://127.0.0.1:9001": {
"collectedAt": "2024-05-31T14:33:29.1373103+02:00",
"connected": 5,
"disconnected": 0,
"outgoingStreams": 2,
"incomingStreams": 0,
"outgoingBytes": 38432543,
"incomingBytes": 66604052,
"outgoingMessages": 229496,
"incomingMessages": 229575,
"outQueue": 0,
"lastPongTime": "2024-05-31T12:33:27Z"
},
"http://127.0.0.1:9002": {
"collectedAt": "2024-05-31T14:33:29.1373103+02:00",
"connected": 5,
"disconnected": 0,
"outgoingStreams": 6,
"incomingStreams": 0,
"outgoingBytes": 38215680,
"incomingBytes": 66121283,
"outgoingMessages": 228525,
"incomingMessages": 228510,
"outQueue": 0,
"lastPongTime": "2024-05-31T12:33:27Z"
},
...
```
This commit is contained in:
@@ -132,6 +132,15 @@ func collectLocalMetrics(types madmin.MetricType, opts collectMetricsOpts) (m ma
|
||||
m.Aggregated.CPU.LoadStat = loadStat
|
||||
}
|
||||
}
|
||||
if types.Contains(madmin.MetricsRPC) {
|
||||
gr := globalGrid.Load()
|
||||
if gr == nil {
|
||||
m.Errors = append(m.Errors, fmt.Sprintf("%s: Grid not initialized", byHostName))
|
||||
} else {
|
||||
stats := gr.ConnStats()
|
||||
m.Aggregated.RPC = &stats
|
||||
}
|
||||
}
|
||||
// Add types...
|
||||
|
||||
// ByHost is a shallow reference, so careful about sharing.
|
||||
|
||||
Reference in New Issue
Block a user