- //first use, initialize the color in the trace
- if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_sleeping())
- return;
-
- simgrid::instr::StateType* state = simgrid::instr::Container::byName(smpi_container(rank))->getState("MPI_STATE");
- state->addEntityValue("sleeping", instr_find_color("sleeping"));
- state->pushEvent("sleeping");
-}
-
-void TRACE_smpi_sleeping_in(int rank, instr_extra_data extra)
-{
- //do not forget to set the color first, otherwise this will explode
- if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_sleeping()) {
- cleanup_extra_data(extra);
- return;
- }
-
- simgrid::instr::StateType* state = simgrid::instr::Container::byName(smpi_container(rank))->getState("MPI_STATE");
- state->addEntityValue("sleeping");
- state->pushEvent("sleeping", static_cast<void*>(extra));
+ if (TRACE_smpi_is_enabled() && TRACE_smpi_is_sleeping())
+ smpi_container(rank)
+ ->getState("MPI_STATE")
+ ->pushEvent("sleeping", new simgrid::instr::CpuTIData("sleep", duration));