examples/msg/trace-platform/trace-platform
examples/msg/trace-host-user-variables/trace-host-user-variables
examples/s4u/app-masterworker/s4u_app-masterworker
+examples/s4u/app-pingpong/s4u_app-pingpong
examples/s4u/app-token-ring/s4u_app-token-ring
examples/s4u/actions-comm/s4u_actions-comm
examples/s4u/actions-storage/s4u_actions-storage
XBT_PUBLIC(void) TRACE_vm_variable_set_with_time (double time, const char *vm, const char *variable, double value);
XBT_PUBLIC(void) TRACE_vm_variable_add_with_time (double time, const char *vm, const char *variable, double value);
XBT_PUBLIC(void) TRACE_vm_variable_sub_with_time (double time, const char *vm, const char *variable, double value);
-XBT_PUBLIC(xbt_dynar_t) TRACE_get_vm_variables ();
/* for host variables */
XBT_PUBLIC(void) TRACE_host_variable_declare (const char *variable);
XBT_PUBLIC(void) TRACE_host_set_state (const char *host, const char *state, const char *value);
XBT_PUBLIC(void) TRACE_host_push_state (const char *host, const char *state, const char *value);
XBT_PUBLIC(void) TRACE_host_pop_state (const char *host, const char *state);
-XBT_PUBLIC(void) TRACE_host_reset_state (const char *host, const char *state);
/* for creating graph configuration files for Viva by hand */
XBT_PUBLIC(xbt_dynar_t) TRACE_get_node_types ();
instr_user_variable(time, vm, variable, "MSG_VM", value, INSTR_US_SUB, nullptr, user_vm_variables);
}
-/** \ingroup TRACE_user_variables
- * \brief Get declared user vm variables
- *
- * This function should be used to get VM variables that were already declared with #TRACE_vm_variable_declare or with
- * #TRACE_vm_variable_declare_with_color.
- *
- * \return A dynar with the declared host variables, must be freed with xbt_dynar_free.
- */
-xbt_dynar_t TRACE_get_vm_variables ()
-{
- return instr_dict_to_dynar (user_vm_variables);
-}
-
/* for host variables */
/** \ingroup TRACE_user_variables
* \brief Declare a new user variable associated to hosts.
new PopStateEvent(MSG_get_clock(), container, type);
}
-/** \ingroup TRACE_user_variables
- * \brief Reset the state of a given host.
- *
- * Clear all previous values of a user state.
- *
- * \param host The name of the host to be considered.
- * \param state The name of the state to be cleared.
- *
- * \see TRACE_host_state_declare, TRACE_host_set_state, TRACE_host_push_state, TRACE_host_pop_state
- */
-void TRACE_host_reset_state (const char *host, const char *state)
-{
- container_t container = PJ_container_get(host);
- type_t type = PJ_type_get (state, container->type);
- new ResetStateEvent(MSG_get_clock(), container, type);
-}
-
/** \ingroup TRACE_API
* \brief Get Paje container types that can be mapped to the nodes of a graph.
*
*/
smx_timer_t SIMIX_timer_set(double date, void (*callback)(void*), void *arg)
{
- smx_timer_t timer = new s_smx_timer_t(date, [=](){ callback(arg); });
+ smx_timer_t timer = new s_smx_timer_t(date, [callback, arg]() { callback(arg); });
xbt_heap_push(simix_timers, timer, date);
return timer;
}
if (boost::dynamic_pointer_cast<simgrid::kernel::activity::IoImpl>(process->waiting_synchro) != nullptr)
synchro_description = "I/O";
-
- /*
- switch (process->waiting_synchro->type) {
- case SIMIX_SYNC_PARALLEL_EXECUTE:
- synchro_description = "parallel execution";
- break;
-
- case SIMIX_SYNC_JOIN:
- synchro_description = "joining";
- break;
-*/
-
XBT_INFO("Process %lu (%s@%s): waiting for %s synchro %p (%s) in state %d to finish", process->pid,
process->cname(), process->host->getCname(), synchro_description, process->waiting_synchro.get(),
process->waiting_synchro->name.c_str(), (int)process->waiting_synchro->state);