|
Lines 270-291
extern int acct_gather_energy_p_get_data
Link Here
|
| 270 |
int rc = SLURM_SUCCESS; |
270 |
int rc = SLURM_SUCCESS; |
| 271 |
acct_gather_energy_t *energy = (acct_gather_energy_t *)data; |
271 |
acct_gather_energy_t *energy = (acct_gather_energy_t *)data; |
| 272 |
time_t *last_poll = (time_t *)data; |
272 |
time_t *last_poll = (time_t *)data; |
|
|
273 |
uint16_t *sensor_cnt = (uint16_t *)data; |
| 273 |
xassert(_run_in_daemon()); |
274 |
xassert(_run_in_daemon()); |
| 274 |
switch (data_type) { |
275 |
switch (data_type) { |
| 275 |
case ENERGY_DATA_JOULES_TASK: |
276 |
case ENERGY_DATA_JOULES_TASK: |
|
|
277 |
case ENERGY_DATA_NODE_ENERGY_UP: |
| 276 |
if (local_energy->current_watts == NO_VAL) |
278 |
if (local_energy->current_watts == NO_VAL) |
| 277 |
energy->consumed_energy = NO_VAL; |
279 |
energy->consumed_energy = NO_VAL; |
| 278 |
else |
280 |
else |
| 279 |
_get_joules_task(energy); |
281 |
_get_joules_task(energy); |
| 280 |
break; |
282 |
break; |
| 281 |
case ENERGY_DATA_STRUCT: |
283 |
case ENERGY_DATA_STRUCT: |
|
|
284 |
case ENERGY_DATA_NODE_ENERGY: |
| 282 |
memcpy(energy, local_energy, sizeof(acct_gather_energy_t)); |
285 |
memcpy(energy, local_energy, sizeof(acct_gather_energy_t)); |
| 283 |
break; |
286 |
break; |
| 284 |
case ENERGY_DATA_LAST_POLL: |
287 |
case ENERGY_DATA_LAST_POLL: |
| 285 |
*last_poll = local_energy->poll_time; |
288 |
*last_poll = local_energy->poll_time; |
| 286 |
break; |
289 |
break; |
|
|
290 |
case ENERGY_DATA_SENSOR_CNT: |
| 291 |
*sensor_cnt = 1; |
| 292 |
break; |
| 287 |
default: |
293 |
default: |
| 288 |
error("acct_gather_energy_p_get_data: unknown enum %d", |
294 |
error("acct_gather_energy_p_get_data: unknown enum %d", |
| 289 |
data_type); |
295 |
data_type); |