X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bf893303cdcaf2d6a2a93116e6b86570a1d768e4..7d95b38c3d4b2911e3cc466e49ca9efbf58e997b:/include/simgrid/plugins/load.h diff --git a/include/simgrid/plugins/load.h b/include/simgrid/plugins/load.h index 3d1c940f7b..02175c8435 100644 --- a/include/simgrid/plugins/load.h +++ b/include/simgrid/plugins/load.h @@ -1,5 +1,4 @@ -/* Copyright (c) 2017. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2017-2022. 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. */ @@ -7,20 +6,42 @@ #ifndef SIMGRID_PLUGINS_LOAD_H_ #define SIMGRID_PLUGINS_LOAD_H_ +#include #include #include -SG_BEGIN_DECL() +SG_BEGIN_DECL -XBT_PUBLIC(void) sg_host_load_plugin_init(); -XBT_PUBLIC(double) sg_host_get_current_load(sg_host_t host); -XBT_PUBLIC(double) sg_host_get_computed_flops(sg_host_t host); -XBT_PUBLIC(void) sg_host_load_reset(sg_host_t host); +XBT_PUBLIC void sg_host_load_plugin_init(); +XBT_PUBLIC double sg_host_get_current_load(const_sg_host_t host); +XBT_PUBLIC double sg_host_get_avg_load(const_sg_host_t host); +XBT_PUBLIC double sg_host_get_idle_time(const_sg_host_t host); +XBT_PUBLIC double sg_host_get_total_idle_time(const_sg_host_t host); +XBT_PUBLIC double sg_host_get_computed_flops(const_sg_host_t host); +XBT_PUBLIC void sg_host_load_reset(const_sg_host_t host); + +XBT_PUBLIC void sg_link_load_plugin_init(); +XBT_PUBLIC void sg_link_load_track(const_sg_link_t link); +XBT_PUBLIC void sg_link_load_untrack(const_sg_link_t link); +XBT_PUBLIC void sg_link_load_reset(const_sg_link_t link); +XBT_PUBLIC double sg_link_get_cum_load(const_sg_link_t link); +XBT_PUBLIC double sg_link_get_avg_load(const_sg_link_t link); +XBT_PUBLIC double sg_link_get_min_instantaneous_load(const_sg_link_t link); +XBT_PUBLIC double sg_link_get_max_instantaneous_load(const_sg_link_t link); + +#if SIMGRID_HAVE_MSG #define MSG_host_load_plugin_init() sg_host_load_plugin_init() +/** @brief Returns the current load of that host, as a ratio = achieved_flops / (core_current_speed * core_amount) + * + * See simgrid::plugin::HostLoad::get_current_load() for the full documentation. + */ #define MSG_host_get_current_load(host) sg_host_get_current_load(host) #define MSG_host_get_computed_flops(host) sg_host_get_computed_flops(host) +#define MSG_host_get_avg_load(host) sg_host_get_avg_load(host) + +#endif // SIMGRID_HAVE_MSG -SG_END_DECL() +SG_END_DECL #endif