@@ -365,6 +365,25 @@ and firmware version.
365365### roc-metrics
366366Outputs metrics for the ReadoutCards.
367367
368+ #### Monitoring metrics
369+
370+ To directly send metrics to the Alice O2 Monitoring library, the argument `--monitoring` is necessary.
371+
372+ ###### Metric: `"card"`
373+
374+ | Value name | Value | type |
375+ | ------------------------- | ----- | ------ |
376+ | `"temperature"` | - | double |
377+ | `"droppedPackets"` | - | int |
378+ | `"ctpClock"` | - | double |
379+ | `"localClock"` | - | double |
380+ | `"totalPacketsPerSecond"` | - | int |
381+
382+ | Tag key | Value |
383+ | ------------------ | ---------------- |
384+ | `tags::Key::ID` | ID of the card |
385+ | `tags::Key::Type` | Type of the card |
386+
368387### roc-reg-[read, read-range, write]
369388Writes and reads registers to/from a card's BAR.
370389By convention, registers are 32-bit unsigned integers.
@@ -384,9 +403,78 @@ Run a Python script that can use a simple interface to use the library.
384403Setup hugetlbfs directories & mounts. If using hugepages, should be run once per boot.
385404
386405### roc-status
387- Reports status of the card's configuration. Only argument is the card's PCI Address or serial number. Currently only implemented
388- for the CRU.
389-
406+ Reports status of the card's configuration.
407+
408+ #### Monitoring status
409+
410+ To directly send metrics from `roc-status` to the Alice O2 Monitoring library, the argument `--monitoring` is necessary. The
411+ metric format for the CRORC and the CRU is different, as different parameters are relevant for each card type.
412+
413+ ##### CRORC
414+
415+ ###### Metric: `"CRORC"`
416+
417+ | Value name | Value | Type |
418+ | ---------------------- | ------------------------ | ------ |
419+ | `"pciAddress"` | - | string |
420+ | `"qsfp"` | "Enabled" or "Disabled" | string |
421+ | `"offset"` | "Dynamic" or "Fixed" | string |
422+ | `"timeFrameDetection"` | "Enabled" or "Disabled" | string |
423+ | `"timeFrameLength"` | - | int |
424+
425+ | Tag key | Value |
426+ | ----------------- | -------------------- |
427+ | `tags::Key::ID` | ID of the card |
428+ | `tags::Key::Type` | `tags::Value::CRORC` |
429+
430+ ###### Metric: `"link"`
431+
432+ | Value name | Value | Type |
433+ | ---------------- | -------------- | ------ |
434+ | `"pciAddress"` | - | string |
435+ | `"status"` | "UP" or "DOWN" | string |
436+ | `"opticalPower"` | - | double |
437+
438+ | Tag key | Value |
439+ | ------------------ | --------------- |
440+ | `tags::Key::CRORC` | ID of the CRORC |
441+ | `tags::Key::ID` | ID of the link |
442+
443+ ##### CRU
444+
445+ ###### Metric: `"CRU"`
446+
447+ | Value name | Value | Type |
448+ | -------------- | ----------------------- | ------ |
449+ | `"pciAddress"` | - | string |
450+ | `"clock"` | "TTC" or "local" | string |
451+ | `"offset"` | "Dynamic" or "Fixed" | string |
452+ | `"userLogic"` | "Enabled" or "Disabled" | string |
453+
454+ | Tag key | Value |
455+ | ----------------- | ------------------ |
456+ | `tags::Key::ID` | ID of the card |
457+ | `tags::Key::Type` | `tags::Value::CRU` |
458+
459+ ###### Metric: `"link"`
460+
461+ | Value name | Value | Type |
462+ | ---------------- | ------------------------------------------------------- | ------ |
463+ | `"pciAddress"` | - | string |
464+ | `"gbtMode"` | "GBT/GBT" or "GBT/WB" | string |
465+ | `"loopback"` | "Enabled" or "None" | string |
466+ | `"gbtMux"` | "DDG", "SWT", "TTC:CTP", "TTC:PATTERN", or "TTC:MIDTRG" | string |
467+ | `"datapathMode"` | "PACKET" or "CONTINUOUS" | string |
468+ | `"datapath"` | "Enabled" or "Disabled" | string |
469+ | `"rxFreq"` | - | double |
470+ | `"txFreq"` | - | double |
471+ | `"status"` | "UP" or "DOWN" | double |
472+ | `"opticalPower"` | - | double |
473+
474+ | Tag key | Value |
475+ | ---------------- | ---------------|
476+ | `tags::Key::CRU` | ID of the CRU |
477+ | `tags::Key::ID` | ID of the link |
390478
391479Exceptions
392480-------------------
0 commit comments