X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fb9d73b23b30461efaba93282e05ccf0cde2f395..fcd1f70709a193338f818adff2b3b1fa08e307ab:/docs/source/Plugins.rst diff --git a/docs/source/Plugins.rst b/docs/source/Plugins.rst index 9fe6949b91..2fae39481b 100644 --- a/docs/source/Plugins.rst +++ b/docs/source/Plugins.rst @@ -19,9 +19,10 @@ You can extend SimGrid without modifying it, thanks to our plugin mechanism. This page describes how to write your own plugin, and documents some of the plugins distributed with SimGrid: + - :ref:`Host Load `: monitors the load of the compute units. - :ref:`Host Energy `: models the energy dissipation of the compute units. - :ref:`Link Energy `: models the energy dissipation of the network. - - :ref:`Host Load `: monitors the load of the compute units. + - :ref:`WiFi Energy `: models the energy dissipation of wifi links. You can activate these plugins with the :ref:`--cfg=plugin ` command line option, for example with ``--cfg=plugin:host_energy``. You can get the full @@ -32,9 +33,9 @@ Defining a Plugin A plugin can get some additional code executed within the SimGrid kernel, and attach the data needed by that code to the SimGrid -objects. +objects. -The host load plugin in +The host load plugin in `src/plugins/host_load.cpp `_ constitutes a good introductory example. It defines a class ``HostLoad`` that is meant to be attached to each host. This class @@ -54,7 +55,7 @@ kind of objects, please let us now. .. cpp:class:: template simgrid::xbt::signal - A signal/slot mechanism, where you can attach callbacks to a given signal, and then fire the signal. + A signal/slot mechanism, where you can attach callbacks to a given signal, and then fire the signal. The template parameter is the function signature of the signal (the return value currently ignored). @@ -68,42 +69,48 @@ kind of objects, please let us now. Partial list of existing signals in s4u: -- :cpp:member:`Actor::on_creation ` - :cpp:member:`Actor::on_suspend ` - :cpp:member:`Actor::on_resume ` - :cpp:member:`Actor::on_sleep ` - :cpp:member:`Actor::on_wake_up ` - :cpp:member:`Actor::on_host_change ` - :cpp:member:`Actor::on_termination ` - :cpp:member:`Actor::on_destruction ` -- :cpp:member:`Comm::on_start ` - :cpp:member:`Comm::on_completion ` -- :cpp:member:`Engine::on_platform_creation ` - :cpp:member:`Engine::on_platform_created ` - :cpp:member:`Engine::on_time_advance ` - :cpp:member:`Engine::on_simulation_end ` - :cpp:member:`Engine::on_deadlock ` -- :cpp:member:`Exec::on_start ` - :cpp:member:`Exec::on_completion ` -- :cpp:member:`Host::on_creation ` - :cpp:member:`Host::on_destruction ` - :cpp:member:`Host::on_state_change ` - :cpp:member:`Host::on_speed_change ` -- :cpp:member:`Link::on_creation ` - :cpp:member:`Link::on_destruction ` - :cpp:member:`Link::on_state_change ` - :cpp:member:`Link::on_speed_change ` - :cpp:member:`Link::on_communicate ` - :cpp:member:`Link::on_communication_state_change ` -- :cpp:member:`Netzone::on_creation ` - :cpp:member:`Netzone::on_seal ` - :cpp:member:`Netzone::on_route_creation ` -- :cpp:member:`VirtualMachine::on_start ` - :cpp:member:`VirtualMachine::on_started ` - :cpp:member:`VirtualMachine::on_suspend ` - :cpp:member:`VirtualMachine::on_resume ` - :cpp:member:`VirtualMachine::on_migration_start ` - :cpp:member:`VirtualMachine::on_migration_end ` +- :cpp:func:`Actor::on_creation ` + :cpp:func:`Actor::on_suspend ` + :cpp:func:`Actor::on_resume ` + :cpp:func:`Actor::on_sleep ` + :cpp:func:`Actor::on_wake_up ` + :cpp:func:`Actor::on_host_change ` + :cpp:func:`Actor::on_termination ` + :cpp:func:`Actor::on_destruction ` +- :cpp:func:`Comm::on_send ` + :cpp:func:`Comm::on_recv ` + :cpp:func:`Comm::on_completion ` +- :cpp:func:`CommImpl::on_start ` + :cpp:func:`CommImpl::on_completion ` +- :cpp:func:`Disk::on_creation ` + :cpp:func:`Disk::on_destruction ` + :cpp:func:`Disk::on_state_change ` +- :cpp:func:`Engine::on_platform_creation ` + :cpp:func:`Engine::on_platform_created ` + :cpp:func:`Engine::on_time_advance ` + :cpp:func:`Engine::on_simulation_end ` + :cpp:func:`Engine::on_deadlock ` +- :cpp:func:`Exec::on_start ` + :cpp:func:`Exec::on_completion ` +- :cpp:func:`Host::on_creation ` + :cpp:func:`Host::on_destruction ` + :cpp:func:`Host::on_state_change ` + :cpp:func:`Host::on_speed_change ` +- :cpp:func:`Io::on_start ` + :cpp:func:`Io::on_completion ` +- :cpp:func:`Link::on_creation ` + :cpp:func:`Link::on_destruction ` + :cpp:func:`Link::on_state_change ` + :cpp:func:`Link::on_speed_change ` + :cpp:func:`Link::on_communication_state_change ` +- :cpp:func:`NetZone::on_creation ` + :cpp:func:`NetZone::on_seal ` +- :cpp:func:`VirtualMachine::on_start ` + :cpp:func:`VirtualMachine::on_started ` + :cpp:func:`VirtualMachine::on_suspend ` + :cpp:func:`VirtualMachine::on_resume ` + :cpp:func:`VirtualMachine::on_migration_start ` + :cpp:func:`VirtualMachine::on_migration_end ` Existing Plugins **************** @@ -127,6 +134,13 @@ Link Energy .. doxygengroup:: plugin_link_energy +.. _plugin_link_energy_wifi: + +WiFi Energy +=========== + +.. doxygengroup:: plugin_link_energy_wifi + .. _plugin_host_load: @@ -145,6 +159,18 @@ File System .. doxygengroup:: plugin_filesystem +.. _plugin_battery: -.. LocalWords: SimGrid +Battery +=========== + +.. doxygengroup:: plugin_battery +.. _plugin_operation: + +Operation +=========== + +.. doxygengroup:: plugin_operation + +.. LocalWords: SimGrid