-/* Copyright (c) 2010-2017. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "simgrid/kernel/routing/NetPoint.hpp"
#include "simgrid_config.h"
#include "src/instr/instr_private.hpp"
-#include "src/kernel/routing/NetPoint.hpp"
#include "src/surf/network_interface.hpp"
#include "src/surf/surf_private.hpp"
#include "surf/surf.hpp"
#include <algorithm>
-enum InstrUserVariable { INSTR_US_DECLARE, INSTR_US_SET, INSTR_US_ADD, INSTR_US_SUB };
+enum class InstrUserVariable { DECLARE, SET, ADD, SUB };
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_api, instr, "API");
//check if variable is already declared
auto created = filter->find(variable_name);
- if (what == INSTR_US_DECLARE){
+ if (what == InstrUserVariable::DECLARE) {
if (created == filter->end()) { // not declared yet
filter->insert(variable_name);
instr_new_user_variable_type(father_type, variable_name, color == nullptr ? "" : color);
if (created != filter->end()) { // declared, let's work
simgrid::instr::VariableType* variable = simgrid::instr::Container::byName(resource)->getVariable(variable_name);
switch (what){
- case INSTR_US_SET:
- variable->setEvent(time, value);
- break;
- case INSTR_US_ADD:
- variable->addEvent(time, value);
- break;
- case INSTR_US_SUB:
- variable->subEvent(time, value);
- break;
- default:
- THROW_IMPOSSIBLE;
- break;
+ case InstrUserVariable::SET:
+ variable->setEvent(time, value);
+ break;
+ case InstrUserVariable::ADD:
+ variable->addEvent(time, value);
+ break;
+ case InstrUserVariable::SUB:
+ variable->subEvent(time, value);
+ break;
+ default:
+ THROW_IMPOSSIBLE;
+ break;
}
}
}
std::vector<simgrid::surf::LinkImpl*> route;
simgrid::kernel::routing::NetZoneImpl::getGlobalRoute(src_elm, dst_elm, route, nullptr);
for (auto const& link : route)
- instr_user_variable(time, link->getCname(), variable, father_type, value, what, nullptr, &user_link_variables);
+ instr_user_variable(time, link->get_cname(), variable, father_type, value, what, nullptr, &user_link_variables);
}
/** \ingroup TRACE_API
*/
void TRACE_vm_variable_declare (const char *variable)
{
- instr_user_variable(0, nullptr, variable, "MSG_VM", 0, INSTR_US_DECLARE, nullptr, &user_vm_variables);
+ instr_user_variable(0, nullptr, variable, "MSG_VM", 0, InstrUserVariable::DECLARE, nullptr, &user_vm_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_vm_variable_declare_with_color (const char *variable, const char *color)
{
- instr_user_variable(0, nullptr, variable, "MSG_VM", 0, INSTR_US_DECLARE, color, &user_vm_variables);
+ instr_user_variable(0, nullptr, variable, "MSG_VM", 0, InstrUserVariable::DECLARE, color, &user_vm_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_vm_variable_set_with_time (double time, const char *vm, const char *variable, double value)
{
- instr_user_variable(time, vm, variable, "MSG_VM", value, INSTR_US_SET, nullptr, &user_vm_variables);
+ instr_user_variable(time, vm, variable, "MSG_VM", value, InstrUserVariable::SET, nullptr, &user_vm_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_vm_variable_add_with_time (double time, const char *vm, const char *variable, double value)
{
- instr_user_variable(time, vm, variable, "MSG_VM", value, INSTR_US_ADD, nullptr, &user_vm_variables);
+ instr_user_variable(time, vm, variable, "MSG_VM", value, InstrUserVariable::ADD, nullptr, &user_vm_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_vm_variable_sub_with_time (double time, const char *vm, const char *variable, double value)
{
- instr_user_variable(time, vm, variable, "MSG_VM", value, INSTR_US_SUB, nullptr, &user_vm_variables);
+ instr_user_variable(time, vm, variable, "MSG_VM", value, InstrUserVariable::SUB, nullptr, &user_vm_variables);
}
/* for host variables */
*/
void TRACE_host_variable_declare (const char *variable)
{
- instr_user_variable(0, nullptr, variable, "HOST", 0, INSTR_US_DECLARE, nullptr, &user_host_variables);
+ instr_user_variable(0, nullptr, variable, "HOST", 0, InstrUserVariable::DECLARE, nullptr, &user_host_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_host_variable_declare_with_color (const char *variable, const char *color)
{
- instr_user_variable(0, nullptr, variable, "HOST", 0, INSTR_US_DECLARE, color, &user_host_variables);
+ instr_user_variable(0, nullptr, variable, "HOST", 0, InstrUserVariable::DECLARE, color, &user_host_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_host_variable_set_with_time (double time, const char *host, const char *variable, double value)
{
- instr_user_variable(time, host, variable, "HOST", value, INSTR_US_SET, nullptr, &user_host_variables);
+ instr_user_variable(time, host, variable, "HOST", value, InstrUserVariable::SET, nullptr, &user_host_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_host_variable_add_with_time (double time, const char *host, const char *variable, double value)
{
- instr_user_variable(time, host, variable, "HOST", value, INSTR_US_ADD, nullptr, &user_host_variables);
+ instr_user_variable(time, host, variable, "HOST", value, InstrUserVariable::ADD, nullptr, &user_host_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_host_variable_sub_with_time (double time, const char *host, const char *variable, double value)
{
- instr_user_variable(time, host, variable, "HOST", value, INSTR_US_SUB, nullptr, &user_host_variables);
+ instr_user_variable(time, host, variable, "HOST", value, InstrUserVariable::SUB, nullptr, &user_host_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_link_variable_declare (const char *variable)
{
- instr_user_variable(0, nullptr, variable, "LINK", 0, INSTR_US_DECLARE, nullptr, &user_link_variables);
+ instr_user_variable(0, nullptr, variable, "LINK", 0, InstrUserVariable::DECLARE, nullptr, &user_link_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_link_variable_declare_with_color (const char *variable, const char *color)
{
- instr_user_variable(0, nullptr, variable, "LINK", 0, INSTR_US_DECLARE, color, &user_link_variables);
+ instr_user_variable(0, nullptr, variable, "LINK", 0, InstrUserVariable::DECLARE, color, &user_link_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_link_variable_set_with_time (double time, const char *link, const char *variable, double value)
{
- instr_user_variable(time, link, variable, "LINK", value, INSTR_US_SET, nullptr, &user_link_variables);
+ instr_user_variable(time, link, variable, "LINK", value, InstrUserVariable::SET, nullptr, &user_link_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_link_variable_add_with_time (double time, const char *link, const char *variable, double value)
{
- instr_user_variable(time, link, variable, "LINK", value, INSTR_US_ADD, nullptr, &user_link_variables);
+ instr_user_variable(time, link, variable, "LINK", value, InstrUserVariable::ADD, nullptr, &user_link_variables);
}
/** \ingroup TRACE_user_variables
*/
void TRACE_link_variable_sub_with_time (double time, const char *link, const char *variable, double value)
{
- instr_user_variable(time, link, variable, "LINK", value, INSTR_US_SUB, nullptr, &user_link_variables);
+ instr_user_variable(time, link, variable, "LINK", value, InstrUserVariable::SUB, nullptr, &user_link_variables);
}
/* for link variables, but with src and dst used for get_route */
void TRACE_link_srcdst_variable_set_with_time (double time, const char *src, const char *dst, const char *variable,
double value)
{
- instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_SET);
+ instr_user_srcdst_variable(time, src, dst, variable, "LINK", value, InstrUserVariable::SET);
}
/** \ingroup TRACE_user_variables
void TRACE_link_srcdst_variable_add_with_time (double time, const char *src, const char *dst, const char *variable,
double value)
{
- instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_ADD);
+ instr_user_srcdst_variable(time, src, dst, variable, "LINK", value, InstrUserVariable::ADD);
}
/** \ingroup TRACE_user_variables
void TRACE_link_srcdst_variable_sub_with_time (double time, const char *src, const char *dst, const char *variable,
double value)
{
- instr_user_srcdst_variable (time, src, dst, variable, "LINK", value, INSTR_US_SUB);
+ instr_user_srcdst_variable(time, src, dst, variable, "LINK", value, InstrUserVariable::SUB);
}
/** \ingroup TRACE_user_variables