/*
 * TRACE_surf_host_set_utilization: entry point from SimGrid
 */
void TRACE_surf_host_set_utilization(const char *resource,
                                     const char *category,
                                     double value,
                                     double now,
                                     double delta)
{
  //only trace host utilization if host is known by tracing mechanism
  if (!PJ_container_get_or_null(resource))
    return;
  if (!value)
    return;

  //trace uncategorized host utilization
  if (TRACE_uncategorized()){
    XBT_DEBUG("UNCAT HOST [%f - %f] %s power_used %f", now, now+delta, resource, value);
    container_t container = PJ_container_get (resource);
    type_t type = PJ_type_get ("power_used", container->type);
    instr_event (now, delta, type, container, value);
  }

  //trace categorized utilization
  if (TRACE_categorized()){
    if (!category)
      return;
    //variable of this category starts by 'p', because we have a host here
    char category_type[INSTR_DEFAULT_STR_SIZE];
    snprintf (category_type, INSTR_DEFAULT_STR_SIZE, "p%s", category);
    XBT_DEBUG("CAT HOST [%f - %f] %s %s %f", now, now+delta, resource, category_type, value);
    container_t container = PJ_container_get (resource);
    type_t type = PJ_type_get (category_type, container->type);
    instr_event (now, delta, type, container, value);
  }
  return;
}
Example #2
0
int TRACE_needs_platform (void)
{
  return TRACE_msg_process_is_enabled() ||
         TRACE_categorized() ||
         TRACE_uncategorized() ||
         TRACE_platform () ||
         (TRACE_smpi_is_enabled() && TRACE_smpi_is_grouped());
}
Example #3
0
void TRACE_surf_link_set_bandwidth(double date, const char *resource, double bandwidth)
{
  if (TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) {
    container_t container = PJ_container_get(resource);
    type_t type = PJ_type_get ("bandwidth", container->type);
    new_pajeSetVariable(date, container, type, bandwidth);
  }
}
Example #4
0
void TRACE_surf_host_set_power(double date, const char *resource, double power)
{
  if (TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) {
    container_t container = PJ_container_get(resource);
    type_t type = PJ_type_get ("power", container->type);
    new_pajeSetVariable(date, container, type, power);
  }
}