xref: /openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Metric/Value.interface.yaml (revision 360717f04f17afeb5079f794353b42a343222c68)
1description: >
2    This interface provides the Board Manager Metric values for resource
3    utilization.
4
5properties:
6    - name: Value
7      type: double
8      description: >
9          The current metric value.
10      flags:
11          - readonly
12    - name: MaxValue
13      type: double
14      default: infinity
15      flags:
16          - readonly
17      description: >
18          The maximum supported metric value.
19    - name: MinValue
20      type: double
21      default: -infinity
22      flags:
23          - readonly
24      description: >
25          The minimum supported metric value.
26    - name: Unit
27      type: enum[self.Unit]
28      description: >
29          The unit for metric value. For example, memory in bytes, CPU in
30          percent, reboots in count.
31      flags:
32          - const
33
34enumerations:
35    - name: Unit
36      description: >
37          Metric value unit.
38      values:
39          - name: Bytes
40            description: >
41                Unit to indicate bytes.
42          - name: Count
43            description: >
44                Unit to indicate counts.
45          - name: Percent
46            description: >
47                Unit to indicate percentage.
48
49associations:
50    - name: measuring
51      description: >
52          Metrics measure the inventory item's resource utilization, therefore
53          implement an association to the inventory item.
54      reverse_name: measured_by
55      required_endpoint_interfaces:
56          - xyz.openbmc_project.Inventory.Item
57
58paths:
59    - namespace: /xyz/openbmc_project/metric
60      description: >
61          The root path for all Metrics.
62      segments:
63          - name: TotalMemory
64            description: >
65                The total memory metric.
66            value: memory/total
67          - name: FreeMemory
68            description: >
69                The free memory metric.
70            value: memory/free
71          - name: AvailableMemory
72            description: >
73                The available memory metric.
74            value: memory/available
75          - name: SharedMemory
76            description: >
77                The shared memory utilization.
78            value: memory/shared
79          - name: BufferedAndCachedMemory
80            description: >
81                The buffered and cached memory memory utilization.
82            value: memory/buffered_and_cached
83          - name: KernelCPU
84            description: >
85                The kernel CPU utilization.
86            value: cpu/kernel
87          - name: UserCPU
88            description: >
89                The user CPU utilization.
90            value: cpu/user
91          - name: TotalCPU
92            description: >
93                The total CPU utilization.
94            value: cpu/total
95          - name: Storage
96            description: >
97                The different types of available storage, such as tmp, var etc.
98                Each storage type will have path relative to storage/, for
99                example storage/tmp for temporary storage.
100            value: storage
101          - name: ReadWriteStorage
102            description: >
103                The available read write storage. This storage path has been
104                explicitly added to the interface file as it gets used in BMCWeb
105                and free storage metric gets exposed via Redfish.
106            value: storage/rw
107          - name: RebootCount
108            description: >
109                Reboot statistic to track number of times device rebooted
110                without failure.
111            value: reboot/count
112          - name: RebootCountWithFailure
113            description: >
114                Reboot statistic to track number of times device rebooted
115                because of a failure.
116            value: reboot/count_with_failure
117    - name: BMC
118      description: >
119          The BMC metrics.
120      value: /xyz/openbmc_project/metric/bmc
121