<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  I sent this message on 01/31 but I did not see it got posted on the mailing list.  So, I am sending it again…<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">  Given that different hardwares will expose differnt sensors, I am hoping that we will have a flexible and extensible interface and data structures to accomodate different hardwares.   For instance, some hardware can report additional
 power and thermal information (such as average power wattage, critical upperthreshold of temperature, ...etc)  than basic current/min/max wattages and temperature.  Some hardwre exposes NICs and storage sensors as well.   IMO. solution2 gives more flexibility
 to accomodate more sensors.   If there is a desire to define a set of common sensors such as power, fan, and thermal...etc  as proposed by solution1, then I think we will need an additional data structure such as extra_sensors with key and value pair to allow
 hardwares to report additional sensors.  Thanks!<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Regards,<o:p></o:p></p>
<p class="MsoNormal">Wanyen<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">> >     Meter Names:<o:p></o:p></p>
<p class="MsoNormal">> >         fanspeed, fanspeed.min, fanspeed.max, fanspeed.status<o:p></o:p></p>
<p class="MsoNormal">> >         voltage, voltage.min, voltage.max, voltage.status<o:p></o:p></p>
<p class="MsoNormal">> >         temperature, temperature.min, temperature.max, temperature.status<o:p></o:p></p>
<p class="MsoNormal">> ><o:p></o:p></p>
<p class="MsoNormal">> >                 'FAN 1': {<o:p></o:p></p>
<p class="MsoNormal">> >                     'current_value': '4652',<o:p></o:p></p>
<p class="MsoNormal">> >                     'min_value': '4200',<o:p></o:p></p>
<p class="MsoNormal">> >                     'max_value': '4693',<o:p></o:p></p>
<p class="MsoNormal">> >                     'status': 'ok'<o:p></o:p></p>
<p class="MsoNormal">> >                 }<o:p></o:p></p>
<p class="MsoNormal">> >                 'FAN 2': {<o:p></o:p></p>
<p class="MsoNormal">> >                     'current_value': '4322',<o:p></o:p></p>
<p class="MsoNormal">> >                     'min_value': '4210',<o:p></o:p></p>
<p class="MsoNormal">> >                     'max_value': '4593',<o:p></o:p></p>
<p class="MsoNormal">> >                     'status': 'ok'<o:p></o:p></p>
<p class="MsoNormal">> >             },<o:p></o:p></p>
<p class="MsoNormal">> >             'voltage': {<o:p></o:p></p>
<p class="MsoNormal">> >                 'Vcore': {<o:p></o:p></p>
<p class="MsoNormal">> >                     'current_value': '0.81',<o:p></o:p></p>
<p class="MsoNormal">> >                     'min_value': '0.80',<o:p></o:p></p>
<p class="MsoNormal">> >                     'max_value': '0.85',<o:p></o:p></p>
<p class="MsoNormal">> >                     'status': 'ok'<o:p></o:p></p>
<p class="MsoNormal">> >                 },<o:p></o:p></p>
<p class="MsoNormal">> >                 '3.3VCC': {<o:p></o:p></p>
<p class="MsoNormal">> >                     'current_value': '3.36',<o:p></o:p></p>
<p class="MsoNormal">> >                     'min_value': '3.20',<o:p></o:p></p>
<p class="MsoNormal">> >                     'max_value': '3.56',<o:p></o:p></p>
<p class="MsoNormal">> >                     'status': 'ok'<o:p></o:p></p>
<p class="MsoNormal">> >                 },<o:p></o:p></p>
<p class="MsoNormal">> >             ...<o:p></o:p></p>
<p class="MsoNormal">> >         }<o:p></o:p></p>
<p class="MsoNormal">> >     }<o:p></o:p></p>
<p class="MsoNormal">><o:p> </o:p></p>
<p class="MsoNormal">><o:p> </o:p></p>
<p class="MsoNormal">> are FAN 1, FAN 2, Vcore, etc... variable names or values that would<o:p></o:p></p>
<p class="MsoNormal">> consistently show up? if the former, would it make sense to have the meters<o:p></o:p></p>
<p class="MsoNormal">> be similar to fanspeed:<trait> where trait is FAN1, FAN2, etc...? if the<o:p></o:p></p>
<p class="MsoNormal">> meter is just fanspeed, what would the volume be? FAN 1's current_value?<o:p></o:p></p>
<p class="MsoNormal">><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Different hardware will expose different number of each of these things. In<o:p></o:p></p>
<p class="MsoNormal">Haomeng's first proposal, all hardware would expose a "fanspeed" and a<o:p></o:p></p>
<p class="MsoNormal">"voltage" category, but with a variable number of meters in each category.<o:p></o:p></p>
<p class="MsoNormal">In the second proposal, it looks like there are no categories and hardware<o:p></o:p></p>
<p class="MsoNormal">exposes a variable number of meters whose names adhere to some consistent<o:p></o:p></p>
<p class="MsoNormal">structure (eg, "FAN ?" and "V???").<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It looks to me like the question is whether or not to use categories to<o:p></o:p></p>
<p class="MsoNormal">group similar meters.<o:p></o:p></p>
</div>
</body>
</html>