<spanid="evennia-server-profiling-dummyrunner"></span><h1>evennia.server.profiling.dummyrunner<aclass="headerlink"href="#module-evennia.server.profiling.dummyrunner"title="Link to this heading">¶</a></h1>
<p>Dummy client runner</p>
<p>This module implements a stand-alone launcher for stress-testing
an Evennia game. It will launch any number of fake clients. These
clients will log into the server and start doing random operations.
Customizing and weighing these operations differently depends on
which type of game is tested. The module contains a testing module
for plain Evennia.</p>
<p>Please note that you shouldn’t run this on a production server!
Launch the program without any arguments or options to see a
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">CmdDummyRunnerEchoResponse</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#CmdDummyRunnerEchoResponse"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">key</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'dummyrunner_echo_response'</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.key"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">func</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#CmdDummyRunnerEchoResponse.func"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.func"title="Link to this definition">¶</a></dt>
<dd><p>This is the actual executing part of the command. It is
called directly after self.parse(). See the docstring of this
module for which object properties are available (beyond those
<spanclass="sig-name descname"><spanclass="pre">aliases</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">[]</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.aliases"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">help_category</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'general'</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.help_category"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">lock_storage</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'cmd:all();'</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.lock_storage"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">search_index_entry</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">{'aliases':</span><spanclass="pre">'',</span><spanclass="pre">'category':</span><spanclass="pre">'general',</span><spanclass="pre">'key':</span><spanclass="pre">'dummyrunner_echo_response',</span><spanclass="pre">'no_prefix':</span><spanclass="pre">'</span><spanclass="pre">',</span><spanclass="pre">'tags':</span><spanclass="pre">'',</span><spanclass="pre">'text':</span><spanclass="pre">'\nDummyrunner</span><spanclass="pre">command</span><spanclass="pre">measuring</span><spanclass="pre">the</span><spanclass="pre">round-about</span><spanclass="pre">response</span><spanclass="pre">time\nfrom</span><spanclass="pre">sending</span><spanclass="pre">to</span><spanclass="pre">receiving</span><spanclass="pre">a</span><spanclass="pre">result.\n\nUsage:\n</span>   <spanclass="pre">dummyrunner_echo_response</span><spanclass="pre"><timestamp>\n\nResponds</span><spanclass="pre">with\n</span>   <spanclass="pre">dummyrunner_echo_response:<timestamp>,<current_time>\n\nThe</span><spanclass="pre">dummyrunner</span><spanclass="pre">will</span><spanclass="pre">send</span><spanclass="pre">this</span><spanclass="pre">and</span><spanclass="pre">then</span><spanclass="pre">compare</span><spanclass="pre">the</span><spanclass="pre">send</span><spanclass="pre">time\nwith</span><spanclass="pre">the</span><spanclass="pre">receive</span><spanclass="pre">time</span><spanclass="pre">on</span><spanclass="pre">both</span><spanclass="pre">ends.\n\n'}</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.search_index_entry"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">DummyRunnerCmdSet</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">cmdsetobj</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">key</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyRunnerCmdSet"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">at_cmdset_creation</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyRunnerCmdSet.at_cmdset_creation"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.at_cmdset_creation"title="Link to this definition">¶</a></dt>
<dd><p>Hook method - this should be overloaded in the inheriting
class, and should take care of populating the cmdset by use of
<spanclass="sig-name descname"><spanclass="pre">path</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">'evennia.server.profiling.dummyrunner.DummyRunnerCmdSet'</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.path"title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">idcounter</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#idcounter"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.idcounter"title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">gidcounter</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#gidcounter"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.gidcounter"title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">makeiter</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">obj</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#makeiter"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.makeiter"title="Link to this definition">¶</a></dt>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">DummyClient</span></span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">report</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">text</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">clientkey</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.report"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.report"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">connectionMade</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.connectionMade"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.connectionMade"title="Link to this definition">¶</a></dt>
<dd><p>Called when connection is first established.</p>
<spanclass="sig-name descname"><spanclass="pre">dataReceived</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">data</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.dataReceived"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.dataReceived"title="Link to this definition">¶</a></dt>
<dd><p>Called when data comes in over the protocol. We wait to start
<spanclass="sig-name descname"><spanclass="pre">connectionLost</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">reason</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.connectionLost"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.connectionLost"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">error</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">err</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.error"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.error"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">counter</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.counter"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.counter"title="Link to this definition">¶</a></dt>
<dd><p>Produces a unique id, also between clients.</p>
<spanclass="sig-name descname"><spanclass="pre">logout</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.logout"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.logout"title="Link to this definition">¶</a></dt>
<dd><p>Causes the client to log out of the server. Triggered by ctrl-c signal.</p>
<spanclass="sig-name descname"><spanclass="pre">step</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.step"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.step"title="Link to this definition">¶</a></dt>
<dd><p>Perform a step. This is called repeatedly by the runner and
causes the client to issue commands to the server. This holds
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">DummyFactory</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">actions</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyFactory"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">protocol</span></span><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.protocol"title="Link to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="#evennia.server.profiling.dummyrunner.DummyClient"title="evennia.server.profiling.dummyrunner.DummyClient"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">DummyClient</span></code></a></p>
<spanclass="sig-name descname"><spanclass="pre">initialDelay</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">1</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.initialDelay"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">maxDelay</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">1</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.maxDelay"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">noisy</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">False</span></em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.noisy"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">__init__</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">actions</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyFactory.__init__"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.__init__"title="Link to this definition">¶</a></dt>
<dd><p>Setup the factory base (shared by all clients)</p>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.profiling.dummyrunner.</span></span><spanclass="sig-name descname"><spanclass="pre">start_all_dummy_clients</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">nclients</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#start_all_dummy_clients"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.start_all_dummy_clients"title="Link to this definition">¶</a></dt>
<dd><p>Initialize all clients, connect them and start to step them</p>