mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2024-12-25 15:09:05 +01:00
Add markdown documentation for metric collector ibstat_perfquery
This commit is contained in:
parent
5ac3af895d
commit
79b25ddbee
@ -20,7 +20,7 @@ type InfinibandCollectorInfo struct {
|
|||||||
LID string // IB local Identifier (LID)
|
LID string // IB local Identifier (LID)
|
||||||
device string // IB device
|
device string // IB device
|
||||||
port string // IB device port
|
port string // IB device port
|
||||||
portCounterFiles map[string]string // mapping counter name -> file
|
portCounterFiles map[string]string // mapping counter name -> sysfs file
|
||||||
tagSet map[string]string // corresponding tag list
|
tagSet map[string]string // corresponding tag list
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,6 +34,12 @@ type InfinibandCollector struct {
|
|||||||
|
|
||||||
// Init initializes the Infiniband collector by walking through files below IB_BASEPATH
|
// Init initializes the Infiniband collector by walking through files below IB_BASEPATH
|
||||||
func (m *InfinibandCollector) Init(config json.RawMessage) error {
|
func (m *InfinibandCollector) Init(config json.RawMessage) error {
|
||||||
|
|
||||||
|
// Check if already initialized
|
||||||
|
if !m.init {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
m.name = "InfinibandCollector"
|
m.name = "InfinibandCollector"
|
||||||
m.setup()
|
m.setup()
|
||||||
|
@ -9,10 +9,13 @@
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The `ibstat` includes all devices that can be found below `/sys/class/infiniband/`
|
The `ibstat` collector includes all Infiniband devices that can be
|
||||||
and where any of the ports provides a `lid` file (`/sys/class/infiniband/<dev>/ports/<port>/lid`)
|
found below `/sys/class/infiniband/` and where any of the ports provides a
|
||||||
|
LID file (`/sys/class/infiniband/<dev>/ports/<port>/lid`)
|
||||||
|
|
||||||
The devices can be filtered with the `exclude_devices` option in the configuration.
|
The devices can be filtered with the `exclude_devices` option in the configuration.
|
||||||
The collector reads data through the sysfs files below `/sys/class/infiniband/<device>`.
|
|
||||||
|
For each found LID the collector reads data through the sysfs files below `/sys/class/infiniband/<device>`.
|
||||||
|
|
||||||
Metrics:
|
Metrics:
|
||||||
* `ib_recv`
|
* `ib_recv`
|
||||||
|
@ -29,27 +29,6 @@ type InfinibandPerfQueryCollector struct {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *InfinibandPerfQueryCollector) Help() {
|
|
||||||
fmt.Println("This collector includes all devices that can be found below ", IB_BASEPATH)
|
|
||||||
fmt.Println("and where any of the ports provides a 'lid' file (glob ", IB_BASEPATH, "/<dev>/ports/<port>/lid).")
|
|
||||||
fmt.Println("The devices can be filtered with the 'exclude_devices' option in the configuration.")
|
|
||||||
fmt.Println("For each found LIDs the collector calls the 'perfquery' command")
|
|
||||||
fmt.Println("The path to the 'perfquery' command can be configured with the 'perfquery_path' option")
|
|
||||||
fmt.Println("in the configuration")
|
|
||||||
fmt.Println("")
|
|
||||||
fmt.Println("Full configuration object:")
|
|
||||||
fmt.Println("\"ibstat\" : {")
|
|
||||||
fmt.Println(" \"perfquery_path\" : \"path/to/perfquery\" # if omitted, it searches in $PATH")
|
|
||||||
fmt.Println(" \"exclude_devices\" : [\"dev1\"]")
|
|
||||||
fmt.Println("}")
|
|
||||||
fmt.Println("")
|
|
||||||
fmt.Println("Metrics:")
|
|
||||||
fmt.Println("- ib_recv")
|
|
||||||
fmt.Println("- ib_xmit")
|
|
||||||
fmt.Println("- ib_recv_pkts")
|
|
||||||
fmt.Println("- ib_xmit_pkts")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *InfinibandPerfQueryCollector) Init(config json.RawMessage) error {
|
func (m *InfinibandPerfQueryCollector) Init(config json.RawMessage) error {
|
||||||
var err error
|
var err error
|
||||||
m.name = "InfinibandCollectorPerfQuery"
|
m.name = "InfinibandCollectorPerfQuery"
|
||||||
|
28
collectors/infinibandPerfQueryMetric.md
Normal file
28
collectors/infinibandPerfQueryMetric.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
## `ibstat_perfquery` collector
|
||||||
|
|
||||||
|
```json
|
||||||
|
"ibstat_perfquery": {
|
||||||
|
"perfquery_path": "/path/to/perfquery",
|
||||||
|
"exclude_devices": [
|
||||||
|
"mlx4"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The `ibstat_perfquery` collector includes all Infiniband devices that can be
|
||||||
|
found below `/sys/class/infiniband/` and where any of the ports provides a
|
||||||
|
LID file (`/sys/class/infiniband/<dev>/ports/<port>/lid`)
|
||||||
|
|
||||||
|
The devices can be filtered with the `exclude_devices` option in the configuration.
|
||||||
|
|
||||||
|
For each found LID the collector calls the `perfquery` command. The path to the
|
||||||
|
`perfquery` command can be configured with the `perfquery_path` option in the configuration
|
||||||
|
|
||||||
|
Metrics:
|
||||||
|
* `ib_recv`
|
||||||
|
* `ib_xmit`
|
||||||
|
* `ib_recv_pkts`
|
||||||
|
* `ib_xmit_pkts`
|
||||||
|
|
||||||
|
The collector adds a `device` tag to all metrics
|
Loading…
Reference in New Issue
Block a user