1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Redfish BMC wall-plug-power scraper (opt-in, daemon only).
//!
//! Polls one or more BMC chassis via the Redfish power resource and
//! converts the node-level reading into a per-service energy-per-op
//! coefficient using the shared [`ops_snapshot_diff`] tracker (every
//! service mapped to the chassis receives the same coefficient).
//! Publishes the result to [`RedfishState`].
//!
//! Two endpoint schemas are supported, declared per-endpoint via the
//! [`RedfishSchema`] enum: the legacy `/Power` resource with
//! `PowerControl[0].PowerConsumedWatts` (still mandatory on BMC
//! firmware as of 2026), and the modern `EnvironmentMetrics` resource
//! with `PowerWatts.Reading` (DMTF Release 2020.4+).
//!
//! Node-level granularity: two services on the same chassis share a
//! single coefficient. See `docs/LIMITATIONS.md` "Redfish BMC precision
//! bounds" for the methodology trade-off.
//!
//! [`ops_snapshot_diff`]: crate::score::ops_snapshot_diff
pub use ;
pub use spawn_scraper;
pub use RedfishState;