<spanid="evennia-server-profiling-dummyrunner"></span><h1>evennia.server.profiling.dummyrunner<aclass="headerlink"href="#module-evennia.server.profiling.dummyrunner"title="Permalink to this headline">¶</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">class </em><codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">CmdDummyRunnerEchoResponse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#CmdDummyRunnerEchoResponse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'dummyrunner_echo_response'</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#CmdDummyRunnerEchoResponse.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.func"title="Permalink 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
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'general', 'key': 'dummyrunner_echo_response', 'no_prefix': ' ', 'tags': '', 'text': '\n Dummyrunner command measuring the round-about response time\n from sending to receiving a result.\n\n Usage:\n dummyrunner_echo_response <timestamp>\n\n Responds with\n dummyrunner_echo_response:<timestamp>,<current_time>\n\n The dummyrunner will send this and then compare the send time\n with the receive time on both ends.\n\n '}</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.CmdDummyRunnerEchoResponse.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">DummyRunnerCmdSet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">cmdsetobj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyRunnerCmdSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_cmdset_creation</code><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">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.at_cmdset_creation"title="Permalink 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
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.server.profiling.dummyrunner.DummyRunnerCmdSet'</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyRunnerCmdSet.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">idcounter</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#idcounter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.idcounter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">gidcounter</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#gidcounter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.gidcounter"title="Permalink to this definition">¶</a></dt>
<dd><p>Makes globally unique ids.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p>count (int); A globally unique counter.</p>
<codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">makeiter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#makeiter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.makeiter"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">DummyClient</code><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">report</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span></em>, <emclass="sig-param"><spanclass="n">clientkey</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.report"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.report"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">connectionMade</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.connectionMade"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.connectionMade"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when connection is first established.</p>
<codeclass="sig-name descname">dataReceived</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">data</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.dataReceived"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.dataReceived"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">connectionLost</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">reason</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.connectionLost"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.connectionLost"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">error</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">err</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.error"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.error"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">counter</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.counter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.counter"title="Permalink to this definition">¶</a></dt>
<dd><p>Produces a unique id, also between clients.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>counter (int)</em>– A unique counter.</p>
<codeclass="sig-name descname">logout</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.logout"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.logout"title="Permalink to this definition">¶</a></dt>
<dd><p>Causes the client to log out of the server. Triggered by ctrl-c signal.</p>
<codeclass="sig-name descname">step</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyClient.step"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyClient.step"title="Permalink 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">class </em><codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">DummyFactory</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">actions</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyFactory"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">protocol</code><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.protocol"title="Permalink 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>
<codeclass="sig-name descname">initialDelay</code><emclass="property"> = 1</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.initialDelay"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">maxDelay</code><emclass="property"> = 1</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.maxDelay"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">noisy</code><emclass="property"> = False</em><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.noisy"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">actions</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#DummyFactory.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.DummyFactory.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.profiling.dummyrunner.</code><codeclass="sig-name descname">start_all_dummy_clients</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">nclients</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/profiling/dummyrunner.html#start_all_dummy_clients"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.profiling.dummyrunner.start_all_dummy_clients"title="Permalink to this definition">¶</a></dt>