Update version according to OSCI-883
[packages/precise/mcollective.git] / doc / MCollective / RPC / Stats.html
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6         <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
8         <title>Class: MCollective::RPC::Stats</title>
9
10         <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
11
12         <script src="../../js/jquery.js" type="text/javascript"
13                 charset="utf-8"></script>
14         <script src="../../js/thickbox-compressed.js" type="text/javascript"
15                 charset="utf-8"></script>
16         <script src="../../js/quicksearch.js" type="text/javascript"
17                 charset="utf-8"></script>
18         <script src="../../js/darkfish.js" type="text/javascript"
19                 charset="utf-8"></script>
20
21 </head>
22 <body class="class">
23
24         <div id="metadata">
25                 <div id="file-metadata">
26                         <div id="file-list-section" class="section">
27                                 <h3 class="section-header">In Files</h3>
28                                 <div class="section-body">
29                                         <ul>
30                                         
31                                                 <li><a href="../../lib/mcollective/rpc/stats_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32                                                         class="thickbox" title="lib/mcollective/rpc/stats.rb">lib/mcollective/rpc/stats.rb</a></li>
33                                         
34                                         </ul>
35                                 </div>
36                         </div>
37
38                         
39                 </div>
40
41                 <div id="class-metadata">
42
43                         <!-- Parent Class -->
44                         
45                         <div id="parent-class-section" class="section">
46                                 <h3 class="section-header">Parent</h3>
47                                 
48                                 <p class="link"><a href="../../Object.html">Object</a></p>
49                                 
50                         </div>
51                         
52
53                         <!-- Namespace Contents -->
54                         
55
56                         <!-- Method Quickref -->
57                         
58                         <div id="method-list-section" class="section">
59                                 <h3 class="section-header">Methods</h3>
60                                 <ul class="link-list">
61                                         
62                                         <li><a href="#M000420">::new</a></li>
63                                         
64                                         <li><a href="#M000423">#[]</a></li>
65                                         
66                                         <li><a href="#M000426">#client_stats=</a></li>
67                                         
68                                         <li><a href="#M000435">#discovered_agents</a></li>
69                                         
70                                         <li><a href="#M000425">#fail</a></li>
71                                         
72                                         <li><a href="#M000436">#finish_request</a></li>
73                                         
74                                         <li><a href="#M000440">#no_response_report</a></li>
75                                         
76                                         <li><a href="#M000437">#node_responded</a></li>
77                                         
78                                         <li><a href="#M000424">#ok</a></li>
79                                         
80                                         <li><a href="#M000439">#report</a></li>
81                                         
82                                         <li><a href="#M000421">#reset</a></li>
83                                         
84                                         <li><a href="#M000438">#text_for_aggregates</a></li>
85                                         
86                                         <li><a href="#M000434">#time_block_execution</a></li>
87                                         
88                                         <li><a href="#M000427">#time_discovery</a></li>
89                                         
90                                         <li><a href="#M000422">#to_hash</a></li>
91                                         
92                                 </ul>
93                         </div>
94                         
95
96                         <!-- Included Modules -->
97                         
98                 </div>
99
100                 <div id="project-metadata">
101                         
102                         
103                         <div id="fileindex-section" class="section project-section">
104                                 <h3 class="section-header">Files</h3>
105                                 <ul>
106                                 
107                                         <li class="file"><a href="../../COPYING.html">COPYING</a></li>
108                                 
109                                         <li class="file"><a href="../../Gemfile.html">Gemfile</a></li>
110                                 
111                                         <li class="file"><a href="../../README.html">README</a></li>
112                                 
113                                         <li class="file"><a href="../../Rakefile.html">Rakefile</a></li>
114                                 
115                                         <li class="file"><a href="../../etc/client_cfg_dist.html">client.cfg.dist</a></li>
116                                 
117                                         <li class="file"><a href="../../etc/data-help_erb.html">data-help.erb</a></li>
118                                 
119                                         <li class="file"><a href="../../etc/discovery-help_erb.html">discovery-help.erb</a></li>
120                                 
121                                         <li class="file"><a href="../../etc/facts_yaml_dist.html">facts.yaml.dist</a></li>
122                                 
123                                         <li class="file"><a href="../../etc/metadata-help_erb.html">metadata-help.erb</a></li>
124                                 
125                                         <li class="file"><a href="../../etc/msg-help_erb.html">msg-help.erb</a></li>
126                                 
127                                         <li class="file"><a href="../../etc/rpc-help_erb.html">rpc-help.erb</a></li>
128                                 
129                                         <li class="file"><a href="../../etc/server_cfg_dist.html">server.cfg.dist</a></li>
130                                 
131                                         <li class="file"><a href="../../etc/ssl/PLACEHOLDER.html">PLACEHOLDER</a></li>
132                                 
133                                         <li class="file"><a href="../../etc/ssl/clients/PLACEHOLDER.html">PLACEHOLDER</a></li>
134                                 
135                                         <li class="file"><a href="../../lib/mcollective/generators/templates/action_snippet_erb.html">action_snippet.erb</a></li>
136                                 
137                                         <li class="file"><a href="../../lib/mcollective/generators/templates/data_input_snippet_erb.html">data_input_snippet.erb</a></li>
138                                 
139                                         <li class="file"><a href="../../lib/mcollective/generators/templates/ddl_erb.html">ddl.erb</a></li>
140                                 
141                                         <li class="file"><a href="../../lib/mcollective/generators/templates/plugin_erb.html">plugin.erb</a></li>
142                                 
143                                         <li class="file"><a href="../../lib/mcollective/locales/en_yml.html">en.yml</a></li>
144                                 
145                                         <li class="file"><a href="../../mcollective_init.html">mcollective.init</a></li>
146                                 
147                                 </ul>
148                         </div>
149                         
150
151                         <div id="classindex-section" class="section project-section">
152                                 <h3 class="section-header">Class Index
153                                         <span class="search-toggle"><img src="../../images/find.png"
154                                                 height="16" width="16" alt="[+]"
155                                                 title="show/hide quicksearch" /></span></h3>
156                                 <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
157                                 <fieldset>
158                                         <legend>Quicksearch</legend>
159                                         <input type="text" name="quicksearch" value=""
160                                                 class="quicksearch-field" />
161                                 </fieldset>
162                                 </form>
163
164                                 <ul class="link-list">
165                                 
166                                         <li><a href="../../MCollective.html">MCollective</a></li>
167                                 
168                                         <li><a href="../../MCollective/Agent.html">MCollective::Agent</a></li>
169                                 
170                                         <li><a href="../../MCollective/Agents.html">MCollective::Agents</a></li>
171                                 
172                                         <li><a href="../../MCollective/Aggregate.html">MCollective::Aggregate</a></li>
173                                 
174                                         <li><a href="../../MCollective/Aggregate/Base.html">MCollective::Aggregate::Base</a></li>
175                                 
176                                         <li><a href="../../MCollective/Aggregate/Result.html">MCollective::Aggregate::Result</a></li>
177                                 
178                                         <li><a href="../../MCollective/Aggregate/Result/Base.html">MCollective::Aggregate::Result::Base</a></li>
179                                 
180                                         <li><a href="../../MCollective/Aggregate/Result/CollectionResult.html">MCollective::Aggregate::Result::CollectionResult</a></li>
181                                 
182                                         <li><a href="../../MCollective/Aggregate/Result/NumericResult.html">MCollective::Aggregate::Result::NumericResult</a></li>
183                                 
184                                         <li><a href="../../MCollective/Application.html">MCollective::Application</a></li>
185                                 
186                                         <li><a href="../../MCollective/Applications.html">MCollective::Applications</a></li>
187                                 
188                                         <li><a href="../../MCollective/Cache.html">MCollective::Cache</a></li>
189                                 
190                                         <li><a href="../../MCollective/Client.html">MCollective::Client</a></li>
191                                 
192                                         <li><a href="../../MCollective/CodedError.html">MCollective::CodedError</a></li>
193                                 
194                                         <li><a href="../../MCollective/Config.html">MCollective::Config</a></li>
195                                 
196                                         <li><a href="../../MCollective/Connector.html">MCollective::Connector</a></li>
197                                 
198                                         <li><a href="../../MCollective/Connector/Base.html">MCollective::Connector::Base</a></li>
199                                 
200                                         <li><a href="../../MCollective/DDL.html">MCollective::DDL</a></li>
201                                 
202                                         <li><a href="../../MCollective/DDL/AgentDDL.html">MCollective::DDL::AgentDDL</a></li>
203                                 
204                                         <li><a href="../../MCollective/DDL/Base.html">MCollective::DDL::Base</a></li>
205                                 
206                                         <li><a href="../../MCollective/DDL/DataDDL.html">MCollective::DDL::DataDDL</a></li>
207                                 
208                                         <li><a href="../../MCollective/DDL/DiscoveryDDL.html">MCollective::DDL::DiscoveryDDL</a></li>
209                                 
210                                         <li><a href="../../MCollective/DDL/ValidatorDDL.html">MCollective::DDL::ValidatorDDL</a></li>
211                                 
212                                         <li><a href="../../MCollective/DDLValidationError.html">MCollective::DDLValidationError</a></li>
213                                 
214                                         <li><a href="../../MCollective/Data.html">MCollective::Data</a></li>
215                                 
216                                         <li><a href="../../MCollective/Data/Base.html">MCollective::Data::Base</a></li>
217                                 
218                                         <li><a href="../../MCollective/Data/Result.html">MCollective::Data::Result</a></li>
219                                 
220                                         <li><a href="../../MCollective/Discovery.html">MCollective::Discovery</a></li>
221                                 
222                                         <li><a href="../../MCollective/Facts.html">MCollective::Facts</a></li>
223                                 
224                                         <li><a href="../../MCollective/Facts/Base.html">MCollective::Facts::Base</a></li>
225                                 
226                                         <li><a href="../../MCollective/Generators.html">MCollective::Generators</a></li>
227                                 
228                                         <li><a href="../../MCollective/Generators/AgentGenerator.html">MCollective::Generators::AgentGenerator</a></li>
229                                 
230                                         <li><a href="../../MCollective/Generators/Base.html">MCollective::Generators::Base</a></li>
231                                 
232                                         <li><a href="../../MCollective/Generators/DataGenerator.html">MCollective::Generators::DataGenerator</a></li>
233                                 
234                                         <li><a href="../../MCollective/InvalidRPCData.html">MCollective::InvalidRPCData</a></li>
235                                 
236                                         <li><a href="../../MCollective/Log.html">MCollective::Log</a></li>
237                                 
238                                         <li><a href="../../MCollective/Logger.html">MCollective::Logger</a></li>
239                                 
240                                         <li><a href="../../MCollective/Logger/Base.html">MCollective::Logger::Base</a></li>
241                                 
242                                         <li><a href="../../MCollective/Logger/Console_logger.html">MCollective::Logger::Console_logger</a></li>
243                                 
244                                         <li><a href="../../MCollective/Logger/File_logger.html">MCollective::Logger::File_logger</a></li>
245                                 
246                                         <li><a href="../../MCollective/Logger/Syslog_logger.html">MCollective::Logger::Syslog_logger</a></li>
247                                 
248                                         <li><a href="../../MCollective/Matcher.html">MCollective::Matcher</a></li>
249                                 
250                                         <li><a href="../../MCollective/Matcher/Parser.html">MCollective::Matcher::Parser</a></li>
251                                 
252                                         <li><a href="../../MCollective/Matcher/Scanner.html">MCollective::Matcher::Scanner</a></li>
253                                 
254                                         <li><a href="../../MCollective/Message.html">MCollective::Message</a></li>
255                                 
256                                         <li><a href="../../MCollective/MissingRPCData.html">MCollective::MissingRPCData</a></li>
257                                 
258                                         <li><a href="../../MCollective/MsgDoesNotMatchRequestID.html">MCollective::MsgDoesNotMatchRequestID</a></li>
259                                 
260                                         <li><a href="../../MCollective/MsgTTLExpired.html">MCollective::MsgTTLExpired</a></li>
261                                 
262                                         <li><a href="../../MCollective/NotTargettedAtUs.html">MCollective::NotTargettedAtUs</a></li>
263                                 
264                                         <li><a href="../../MCollective/Optionparser.html">MCollective::Optionparser</a></li>
265                                 
266                                         <li><a href="../../MCollective/PluginManager.html">MCollective::PluginManager</a></li>
267                                 
268                                         <li><a href="../../MCollective/PluginPackager.html">MCollective::PluginPackager</a></li>
269                                 
270                                         <li><a href="../../MCollective/PluginPackager/AgentDefinition.html">MCollective::PluginPackager::AgentDefinition</a></li>
271                                 
272                                         <li><a href="../../MCollective/PluginPackager/StandardDefinition.html">MCollective::PluginPackager::StandardDefinition</a></li>
273                                 
274                                         <li><a href="../../MCollective/RPC.html">MCollective::RPC</a></li>
275                                 
276                                         <li><a href="../../MCollective/RPC/ActionRunner.html">MCollective::RPC::ActionRunner</a></li>
277                                 
278                                         <li><a href="../../MCollective/RPC/Agent.html">MCollective::RPC::Agent</a></li>
279                                 
280                                         <li><a href="../../MCollective/RPC/Audit.html">MCollective::RPC::Audit</a></li>
281                                 
282                                         <li><a href="../../MCollective/RPC/Client.html">MCollective::RPC::Client</a></li>
283                                 
284                                         <li><a href="../../MCollective/RPC/Helpers.html">MCollective::RPC::Helpers</a></li>
285                                 
286                                         <li><a href="../../MCollective/RPC/Progress.html">MCollective::RPC::Progress</a></li>
287                                 
288                                         <li><a href="../../MCollective/RPC/Reply.html">MCollective::RPC::Reply</a></li>
289                                 
290                                         <li><a href="../../MCollective/RPC/Request.html">MCollective::RPC::Request</a></li>
291                                 
292                                         <li><a href="../../MCollective/RPC/Result.html">MCollective::RPC::Result</a></li>
293                                 
294                                         <li><a href="../../MCollective/RPC/Stats.html">MCollective::RPC::Stats</a></li>
295                                 
296                                         <li><a href="../../MCollective/RPCAborted.html">MCollective::RPCAborted</a></li>
297                                 
298                                         <li><a href="../../MCollective/RPCError.html">MCollective::RPCError</a></li>
299                                 
300                                         <li><a href="../../MCollective/Registration.html">MCollective::Registration</a></li>
301                                 
302                                         <li><a href="../../MCollective/Registration/Base.html">MCollective::Registration::Base</a></li>
303                                 
304                                         <li><a href="../../MCollective/Runner.html">MCollective::Runner</a></li>
305                                 
306                                         <li><a href="../../MCollective/RunnerStats.html">MCollective::RunnerStats</a></li>
307                                 
308                                         <li><a href="../../MCollective/SSL.html">MCollective::SSL</a></li>
309                                 
310                                         <li><a href="../../MCollective/Security.html">MCollective::Security</a></li>
311                                 
312                                         <li><a href="../../MCollective/Security/Base.html">MCollective::Security::Base</a></li>
313                                 
314                                         <li><a href="../../MCollective/SecurityValidationFailed.html">MCollective::SecurityValidationFailed</a></li>
315                                 
316                                         <li><a href="../../MCollective/Shell.html">MCollective::Shell</a></li>
317                                 
318                                         <li><a href="../../MCollective/Translatable.html">MCollective::Translatable</a></li>
319                                 
320                                         <li><a href="../../MCollective/UnixDaemon.html">MCollective::UnixDaemon</a></li>
321                                 
322                                         <li><a href="../../MCollective/UnknownRPCAction.html">MCollective::UnknownRPCAction</a></li>
323                                 
324                                         <li><a href="../../MCollective/UnknownRPCError.html">MCollective::UnknownRPCError</a></li>
325                                 
326                                         <li><a href="../../MCollective/Util.html">MCollective::Util</a></li>
327                                 
328                                         <li><a href="../../MCollective/Validator.html">MCollective::Validator</a></li>
329                                 
330                                         <li><a href="../../MCollective/ValidatorError.html">MCollective::ValidatorError</a></li>
331                                 
332                                         <li><a href="../../MCollective/WindowsDaemon.html">MCollective::WindowsDaemon</a></li>
333                                 
334                                         <li><a href="../../Array.html">Array</a></li>
335                                 
336                                         <li><a href="../../Dir.html">Dir</a></li>
337                                 
338                                         <li><a href="../../Object.html">Object</a></li>
339                                 
340                                         <li><a href="../../String.html">String</a></li>
341                                 
342                                         <li><a href="../../Symbol.html">Symbol</a></li>
343                                 
344                                 </ul>
345                                 <div id="no-class-search-results" style="display: none;">No matching classes.</div>
346                         </div>
347
348                         
349                 </div>
350         </div>
351
352         <div id="documentation">
353                 <h1 class="class">MCollective::RPC::Stats</h1>
354
355                 <div id="description">
356                         <p>
357 Class to wrap all the stats and to keep track of some timings
358 </p>
359
360                 </div>
361
362                 <!-- Constants -->
363                 
364
365                 <!-- Attributes -->
366                 
367                 <div id="attribute-method-details" class="method-section section">
368                         <h3 class="section-header">Attributes</h3>
369
370                         
371                         <div id="noresponsefrom-attribute-method" class="method-detail">
372                                 <a name="noresponsefrom"></a>
373                                 
374                                 <a name="noresponsefrom="></a>
375                                 
376                                 <div class="method-heading attribute-method-heading">
377                                         <span class="method-name">noresponsefrom</span><span
378                                                 class="attribute-access-type">[RW]</span>
379                                 </div>
380
381                                 <div class="method-description">
382                                 
383                                 <p class="missing-docs">(Not documented)</p>
384                                 
385                                 </div>
386                         </div>
387                         
388                         <div id="starttime-attribute-method" class="method-detail">
389                                 <a name="starttime"></a>
390                                 
391                                 <a name="starttime="></a>
392                                 
393                                 <div class="method-heading attribute-method-heading">
394                                         <span class="method-name">starttime</span><span
395                                                 class="attribute-access-type">[RW]</span>
396                                 </div>
397
398                                 <div class="method-description">
399                                 
400                                 <p class="missing-docs">(Not documented)</p>
401                                 
402                                 </div>
403                         </div>
404                         
405                         <div id="discoverytime-attribute-method" class="method-detail">
406                                 <a name="discoverytime"></a>
407                                 
408                                 <a name="discoverytime="></a>
409                                 
410                                 <div class="method-heading attribute-method-heading">
411                                         <span class="method-name">discoverytime</span><span
412                                                 class="attribute-access-type">[RW]</span>
413                                 </div>
414
415                                 <div class="method-description">
416                                 
417                                 <p class="missing-docs">(Not documented)</p>
418                                 
419                                 </div>
420                         </div>
421                         
422                         <div id="blocktime-attribute-method" class="method-detail">
423                                 <a name="blocktime"></a>
424                                 
425                                 <a name="blocktime="></a>
426                                 
427                                 <div class="method-heading attribute-method-heading">
428                                         <span class="method-name">blocktime</span><span
429                                                 class="attribute-access-type">[RW]</span>
430                                 </div>
431
432                                 <div class="method-description">
433                                 
434                                 <p class="missing-docs">(Not documented)</p>
435                                 
436                                 </div>
437                         </div>
438                         
439                         <div id="responses-attribute-method" class="method-detail">
440                                 <a name="responses"></a>
441                                 
442                                 <a name="responses="></a>
443                                 
444                                 <div class="method-heading attribute-method-heading">
445                                         <span class="method-name">responses</span><span
446                                                 class="attribute-access-type">[RW]</span>
447                                 </div>
448
449                                 <div class="method-description">
450                                 
451                                 <p class="missing-docs">(Not documented)</p>
452                                 
453                                 </div>
454                         </div>
455                         
456                         <div id="totaltime-attribute-method" class="method-detail">
457                                 <a name="totaltime"></a>
458                                 
459                                 <a name="totaltime="></a>
460                                 
461                                 <div class="method-heading attribute-method-heading">
462                                         <span class="method-name">totaltime</span><span
463                                                 class="attribute-access-type">[RW]</span>
464                                 </div>
465
466                                 <div class="method-description">
467                                 
468                                 <p class="missing-docs">(Not documented)</p>
469                                 
470                                 </div>
471                         </div>
472                         
473                         <div id="discovered-attribute-method" class="method-detail">
474                                 <a name="discovered"></a>
475                                 
476                                 <a name="discovered="></a>
477                                 
478                                 <div class="method-heading attribute-method-heading">
479                                         <span class="method-name">discovered</span><span
480                                                 class="attribute-access-type">[RW]</span>
481                                 </div>
482
483                                 <div class="method-description">
484                                 
485                                 <p class="missing-docs">(Not documented)</p>
486                                 
487                                 </div>
488                         </div>
489                         
490                         <div id="discovered-nodes-attribute-method" class="method-detail">
491                                 <a name="discovered_nodes"></a>
492                                 
493                                 <a name="discovered_nodes="></a>
494                                 
495                                 <div class="method-heading attribute-method-heading">
496                                         <span class="method-name">discovered_nodes</span><span
497                                                 class="attribute-access-type">[RW]</span>
498                                 </div>
499
500                                 <div class="method-description">
501                                 
502                                 <p class="missing-docs">(Not documented)</p>
503                                 
504                                 </div>
505                         </div>
506                         
507                         <div id="okcount-attribute-method" class="method-detail">
508                                 <a name="okcount"></a>
509                                 
510                                 <a name="okcount="></a>
511                                 
512                                 <div class="method-heading attribute-method-heading">
513                                         <span class="method-name">okcount</span><span
514                                                 class="attribute-access-type">[RW]</span>
515                                 </div>
516
517                                 <div class="method-description">
518                                 
519                                 <p class="missing-docs">(Not documented)</p>
520                                 
521                                 </div>
522                         </div>
523                         
524                         <div id="failcount-attribute-method" class="method-detail">
525                                 <a name="failcount"></a>
526                                 
527                                 <a name="failcount="></a>
528                                 
529                                 <div class="method-heading attribute-method-heading">
530                                         <span class="method-name">failcount</span><span
531                                                 class="attribute-access-type">[RW]</span>
532                                 </div>
533
534                                 <div class="method-description">
535                                 
536                                 <p class="missing-docs">(Not documented)</p>
537                                 
538                                 </div>
539                         </div>
540                         
541                         <div id="noresponsefrom-attribute-method" class="method-detail">
542                                 <a name="noresponsefrom"></a>
543                                 
544                                 <a name="noresponsefrom="></a>
545                                 
546                                 <div class="method-heading attribute-method-heading">
547                                         <span class="method-name">noresponsefrom</span><span
548                                                 class="attribute-access-type">[RW]</span>
549                                 </div>
550
551                                 <div class="method-description">
552                                 
553                                 <p class="missing-docs">(Not documented)</p>
554                                 
555                                 </div>
556                         </div>
557                         
558                         <div id="responsesfrom-attribute-method" class="method-detail">
559                                 <a name="responsesfrom"></a>
560                                 
561                                 <a name="responsesfrom="></a>
562                                 
563                                 <div class="method-heading attribute-method-heading">
564                                         <span class="method-name">responsesfrom</span><span
565                                                 class="attribute-access-type">[RW]</span>
566                                 </div>
567
568                                 <div class="method-description">
569                                 
570                                 <p class="missing-docs">(Not documented)</p>
571                                 
572                                 </div>
573                         </div>
574                         
575                         <div id="requestid-attribute-method" class="method-detail">
576                                 <a name="requestid"></a>
577                                 
578                                 <a name="requestid="></a>
579                                 
580                                 <div class="method-heading attribute-method-heading">
581                                         <span class="method-name">requestid</span><span
582                                                 class="attribute-access-type">[RW]</span>
583                                 </div>
584
585                                 <div class="method-description">
586                                 
587                                 <p class="missing-docs">(Not documented)</p>
588                                 
589                                 </div>
590                         </div>
591                         
592                         <div id="aggregate-summary-attribute-method" class="method-detail">
593                                 <a name="aggregate_summary"></a>
594                                 
595                                 <a name="aggregate_summary="></a>
596                                 
597                                 <div class="method-heading attribute-method-heading">
598                                         <span class="method-name">aggregate_summary</span><span
599                                                 class="attribute-access-type">[RW]</span>
600                                 </div>
601
602                                 <div class="method-description">
603                                 
604                                 <p class="missing-docs">(Not documented)</p>
605                                 
606                                 </div>
607                         </div>
608                         
609                         <div id="ddl-attribute-method" class="method-detail">
610                                 <a name="ddl"></a>
611                                 
612                                 <a name="ddl="></a>
613                                 
614                                 <div class="method-heading attribute-method-heading">
615                                         <span class="method-name">ddl</span><span
616                                                 class="attribute-access-type">[RW]</span>
617                                 </div>
618
619                                 <div class="method-description">
620                                 
621                                 <p class="missing-docs">(Not documented)</p>
622                                 
623                                 </div>
624                         </div>
625                         
626                         <div id="aggregate-failures-attribute-method" class="method-detail">
627                                 <a name="aggregate_failures"></a>
628                                 
629                                 <a name="aggregate_failures="></a>
630                                 
631                                 <div class="method-heading attribute-method-heading">
632                                         <span class="method-name">aggregate_failures</span><span
633                                                 class="attribute-access-type">[RW]</span>
634                                 </div>
635
636                                 <div class="method-description">
637                                 
638                                 <p class="missing-docs">(Not documented)</p>
639                                 
640                                 </div>
641                         </div>
642                         
643                 </div>
644                 
645
646                 <!-- Methods -->
647                 
648                 <div id="public-class-method-details" class="method-section section">
649                         <h3 class="section-header">Public Class Methods</h3>
650
651                 
652                         <div id="new-method" class="method-detail ">
653                                 <a name="M000420"></a>
654
655                                 <div class="method-heading">
656                                 
657                                         <span class="method-name">new</span><span
658                                                 class="method-args">()</span>
659                                         <span class="method-click-advice">click to toggle source</span>
660                                 
661                                 </div>
662
663                                 <div class="method-description">
664                                         
665                                         <p class="missing-docs">(Not documented)</p>
666                                         
667
668                                         
669                                         <div class="method-source-code"
670                                                 id="new-source">
671 <pre>
672     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 9</span>
673  9:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
674 10:         <span class="ruby-identifier">reset</span>
675 11:       <span class="ruby-keyword kw">end</span></pre>
676                                         </div>
677                                         
678                                 </div>
679
680                                 
681                         </div>
682
683                 
684                 </div>
685         
686                 <div id="public-instance-method-details" class="method-section section">
687                         <h3 class="section-header">Public Instance Methods</h3>
688
689                 
690                         <div id="--method" class="method-detail ">
691                                 <a name="M000423"></a>
692
693                                 <div class="method-heading">
694                                 
695                                         <span class="method-name">[]</span><span
696                                                 class="method-args">(key)</span>
697                                         <span class="method-click-advice">click to toggle source</span>
698                                 
699                                 </div>
700
701                                 <div class="method-description">
702                                         
703                                         <p>
704 Fake hash access to keep things backward compatible
705 </p>
706                                         
707
708                                         
709                                         <div class="method-source-code"
710                                                 id="--source">
711 <pre>
712     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 51</span>
713 51:       <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">key</span>)
714 52:         <span class="ruby-identifier">to_hash</span>[<span class="ruby-identifier">key</span>]
715 53:       <span class="ruby-keyword kw">rescue</span>
716 54:         <span class="ruby-keyword kw">nil</span>
717 55:       <span class="ruby-keyword kw">end</span></pre>
718                                         </div>
719                                         
720                                 </div>
721
722                                 
723                         </div>
724
725                 
726                         <div id="client-stats--method" class="method-detail ">
727                                 <a name="M000426"></a>
728
729                                 <div class="method-heading">
730                                 
731                                         <span class="method-name">client_stats=</span><span
732                                                 class="method-args">(stats)</span>
733                                         <span class="method-click-advice">click to toggle source</span>
734                                 
735                                 </div>
736
737                                 <div class="method-description">
738                                         
739                                         <p>
740 Re-initializes the object with stats from the basic client
741 </p>
742                                         
743
744                                         
745                                         <div class="method-source-code"
746                                                 id="client-stats--source">
747 <pre>
748     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 72</span>
749 72:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">client_stats=</span>(<span class="ruby-identifier">stats</span>)
750 73:         <span class="ruby-ivar">@noresponsefrom</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:noresponsefrom</span>]
751 74:         <span class="ruby-ivar">@responses</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:responses</span>]
752 75:         <span class="ruby-ivar">@starttime</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:starttime</span>]
753 76:         <span class="ruby-ivar">@blocktime</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:blocktime</span>]
754 77:         <span class="ruby-ivar">@totaltime</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:totaltime</span>]
755 78:         <span class="ruby-ivar">@requestid</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:requestid</span>]
756 79:         <span class="ruby-ivar">@discoverytime</span> = <span class="ruby-identifier">stats</span>[<span class="ruby-identifier">:discoverytime</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@discoverytime</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
757 80:       <span class="ruby-keyword kw">end</span></pre>
758                                         </div>
759                                         
760                                 </div>
761
762                                 
763                         </div>
764
765                 
766                         <div id="discovered-agents-method" class="method-detail ">
767                                 <a name="M000435"></a>
768
769                                 <div class="method-heading">
770                                 
771                                         <span class="method-name">discovered_agents</span><span
772                                                 class="method-args">(agents)</span>
773                                         <span class="method-click-advice">click to toggle source</span>
774                                 
775                                 </div>
776
777                                 <div class="method-description">
778                                         
779                                         <p>
780 Update discovered and <a
781 href="Stats.html#discovered_nodes">discovered_nodes</a> based on discovery
782 results
783 </p>
784                                         
785
786                                         
787                                         <div class="method-source-code"
788                                                 id="discovered-agents-source">
789 <pre>
790      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 110</span>
791 110:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">discovered_agents</span>(<span class="ruby-identifier">agents</span>)
792 111:         <span class="ruby-ivar">@discovered_nodes</span> = <span class="ruby-identifier">agents</span>
793 112:         <span class="ruby-ivar">@discovered</span> = <span class="ruby-identifier">agents</span>.<span class="ruby-identifier">size</span>
794 113:       <span class="ruby-keyword kw">end</span></pre>
795                                         </div>
796                                         
797                                 </div>
798
799                                 
800                         </div>
801
802                 
803                         <div id="fail-method" class="method-detail ">
804                                 <a name="M000425"></a>
805
806                                 <div class="method-heading">
807                                 
808                                         <span class="method-name">fail</span><span
809                                                 class="method-args">()</span>
810                                         <span class="method-click-advice">click to toggle source</span>
811                                 
812                                 </div>
813
814                                 <div class="method-description">
815                                         
816                                         <p>
817 increment the count of failed hosts
818 </p>
819                                         
820
821                                         
822                                         <div class="method-source-code"
823                                                 id="fail-source">
824 <pre>
825     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 65</span>
826 65:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fail</span>
827 66:         <span class="ruby-ivar">@failcount</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
828 67:       <span class="ruby-keyword kw">rescue</span>
829 68:         <span class="ruby-ivar">@failcount</span> = <span class="ruby-value">1</span>
830 69:       <span class="ruby-keyword kw">end</span></pre>
831                                         </div>
832                                         
833                                 </div>
834
835                                 
836                         </div>
837
838                 
839                         <div id="finish-request-method" class="method-detail ">
840                                 <a name="M000436"></a>
841
842                                 <div class="method-heading">
843                                 
844                                         <span class="method-name">finish_request</span><span
845                                                 class="method-args">()</span>
846                                         <span class="method-click-advice">click to toggle source</span>
847                                 
848                                 </div>
849
850                                 <div class="method-description">
851                                         
852                                         <p>
853 Helper to calculate total time etc
854 </p>
855                                         
856
857                                         
858                                         <div class="method-source-code"
859                                                 id="finish-request-source">
860 <pre>
861      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 116</span>
862 116:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">finish_request</span>
863 117:         <span class="ruby-ivar">@totaltime</span> = <span class="ruby-ivar">@blocktime</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@discoverytime</span>
864 118: 
865 119:         <span class="ruby-comment cmt"># figures out who we had no responses from</span>
866 120:         <span class="ruby-identifier">dhosts</span> = <span class="ruby-ivar">@discovered_nodes</span>.<span class="ruby-identifier">clone</span>
867 121:         <span class="ruby-ivar">@responsesfrom</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dhosts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">r</span>)}
868 122:         <span class="ruby-ivar">@noresponsefrom</span> = <span class="ruby-identifier">dhosts</span>
869 123:       <span class="ruby-keyword kw">rescue</span>
870 124:         <span class="ruby-ivar">@totaltime</span> = <span class="ruby-value">0</span>
871 125:         <span class="ruby-ivar">@noresponsefrom</span> = []
872 126:       <span class="ruby-keyword kw">end</span></pre>
873                                         </div>
874                                         
875                                 </div>
876
877                                 
878                         </div>
879
880                 
881                         <div id="no-response-report-method" class="method-detail ">
882                                 <a name="M000440"></a>
883
884                                 <div class="method-heading">
885                                 
886                                         <span class="method-name">no_response_report</span><span
887                                                 class="method-args">()</span>
888                                         <span class="method-click-advice">click to toggle source</span>
889                                 
890                                 </div>
891
892                                 <div class="method-description">
893                                         
894                                         <p>
895 Returns a blob of text indicating what nodes did not respond
896 </p>
897                                         
898
899                                         
900                                         <div class="method-source-code"
901                                                 id="no-response-report-source">
902 <pre>
903      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 237</span>
904 237:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">no_response_report</span>
905 238:         <span class="ruby-identifier">result_text</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
906 239: 
907 240:         <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@noresponsefrom</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
908 241:           <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">puts</span>
909 242:           <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:red</span>, <span class="ruby-value str">&quot;No response from:&quot;</span>)
910 243:           <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">puts</span>
911 244: 
912 245:           <span class="ruby-ivar">@noresponsefrom</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">in_groups_of</span>(<span class="ruby-value">3</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
913 246:             <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;   %-30s%-30s%-30s&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">c</span>
914 247:           <span class="ruby-keyword kw">end</span>
915 248: 
916 249:           <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">puts</span>
917 250:         <span class="ruby-keyword kw">end</span>
918 251: 
919 252:         <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">string</span>
920 253:       <span class="ruby-keyword kw">end</span></pre>
921                                         </div>
922                                         
923                                 </div>
924
925                                 
926                         </div>
927
928                 
929                         <div id="node-responded-method" class="method-detail ">
930                                 <a name="M000437"></a>
931
932                                 <div class="method-heading">
933                                 
934                                         <span class="method-name">node_responded</span><span
935                                                 class="method-args">(node)</span>
936                                         <span class="method-click-advice">click to toggle source</span>
937                                 
938                                 </div>
939
940                                 <div class="method-description">
941                                         
942                                         <p>
943 Helper to keep track of who we received responses from
944 </p>
945                                         
946
947                                         
948                                         <div class="method-source-code"
949                                                 id="node-responded-source">
950 <pre>
951      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 129</span>
952 129:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">node_responded</span>(<span class="ruby-identifier">node</span>)
953 130:         <span class="ruby-ivar">@responsesfrom</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
954 131:       <span class="ruby-keyword kw">rescue</span>
955 132:         <span class="ruby-ivar">@responsesfrom</span> = [<span class="ruby-identifier">node</span>]
956 133:       <span class="ruby-keyword kw">end</span></pre>
957                                         </div>
958                                         
959                                 </div>
960
961                                 
962                         </div>
963
964                 
965                         <div id="ok-method" class="method-detail ">
966                                 <a name="M000424"></a>
967
968                                 <div class="method-heading">
969                                 
970                                         <span class="method-name">ok</span><span
971                                                 class="method-args">()</span>
972                                         <span class="method-click-advice">click to toggle source</span>
973                                 
974                                 </div>
975
976                                 <div class="method-description">
977                                         
978                                         <p>
979 increment the count of ok hosts
980 </p>
981                                         
982
983                                         
984                                         <div class="method-source-code"
985                                                 id="ok-source">
986 <pre>
987     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 58</span>
988 58:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ok</span>
989 59:         <span class="ruby-ivar">@okcount</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
990 60:       <span class="ruby-keyword kw">rescue</span>
991 61:         <span class="ruby-ivar">@okcount</span> = <span class="ruby-value">1</span>
992 62:       <span class="ruby-keyword kw">end</span></pre>
993                                         </div>
994                                         
995                                 </div>
996
997                                 
998                         </div>
999
1000                 
1001                         <div id="report-method" class="method-detail ">
1002                                 <a name="M000439"></a>
1003
1004                                 <div class="method-heading">
1005                                 
1006                                         <span class="method-name">report</span><span
1007                                                 class="method-args">(caption = "rpc stats", summarize = true, verbose = false)</span>
1008                                         <span class="method-click-advice">click to toggle source</span>
1009                                 
1010                                 </div>
1011
1012                                 <div class="method-description">
1013                                         
1014                                         <p>
1015 Returns a blob of text representing the request status based on the stats
1016 contained in this class
1017 </p>
1018                                         
1019
1020                                         
1021                                         <div class="method-source-code"
1022                                                 id="report-source">
1023 <pre>
1024      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 187</span>
1025 187:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">report</span>(<span class="ruby-identifier">caption</span> = <span class="ruby-value str">&quot;rpc stats&quot;</span>, <span class="ruby-identifier">summarize</span> = <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">verbose</span> = <span class="ruby-keyword kw">false</span>)
1026 188:         <span class="ruby-identifier">result_text</span> = []
1027 189: 
1028 190:         <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose</span>
1029 191:             <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@aggregate_summary</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">summarize</span>
1030 192:               <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">text_for_aggregates</span>
1031 193:             <span class="ruby-keyword kw">else</span>
1032 194:               <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&quot;</span>
1033 195:             <span class="ruby-keyword kw">end</span>
1034 196: 
1035 197:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:yellow</span>, <span class="ruby-node">&quot;---- #{caption} ----&quot;</span>)
1036 198: 
1037 199:           <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@discovered</span>
1038 200:             <span class="ruby-ivar">@responses</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@discovered</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">color</span> = <span class="ruby-identifier">:red</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">color</span> = <span class="ruby-identifier">:reset</span>
1039 201:             <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;           Nodes: %s / %s&quot;</span> <span class="ruby-operator">%</span> [ <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">color</span>, <span class="ruby-ivar">@discovered</span>), <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">color</span>, <span class="ruby-ivar">@responses</span>) ]
1040 202:           <span class="ruby-keyword kw">else</span>
1041 203:             <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;           Nodes: #{@responses}&quot;</span>
1042 204:           <span class="ruby-keyword kw">end</span>
1043 205: 
1044 206:           <span class="ruby-ivar">@failcount</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">color</span> = <span class="ruby-identifier">:red</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">color</span> = <span class="ruby-identifier">:reset</span>
1045 207: 
1046 208:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;     Pass / Fail: %s / %s&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">color</span>, <span class="ruby-ivar">@okcount</span>), <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">color</span>, <span class="ruby-ivar">@failcount</span>) ]
1047 209:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;      Start Time: %s&quot;</span>      <span class="ruby-operator">%</span> [<span class="ruby-constant">Time</span>.<span class="ruby-identifier">at</span>(<span class="ruby-ivar">@starttime</span>)]
1048 210:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;  Discovery Time: %.2fms&quot;</span>  <span class="ruby-operator">%</span> [<span class="ruby-ivar">@discoverytime</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>]
1049 211:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;      Agent Time: %.2fms&quot;</span>  <span class="ruby-operator">%</span> [<span class="ruby-ivar">@blocktime</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>]
1050 212:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;      Total Time: %.2fms&quot;</span>  <span class="ruby-operator">%</span> [<span class="ruby-ivar">@totaltime</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>]
1051 213:         <span class="ruby-keyword kw">else</span>
1052 214:           <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@discovered</span>
1053 215:             <span class="ruby-ivar">@responses</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@discovered</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">color</span> = <span class="ruby-identifier">:red</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">color</span> = <span class="ruby-identifier">:green</span>
1054 216: 
1055 217:             <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@aggregate_summary</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@aggregate_failures</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">summarize</span>
1056 218:               <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">text_for_aggregates</span>
1057 219:             <span class="ruby-keyword kw">else</span>
1058 220:               <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&quot;</span>
1059 221:             <span class="ruby-keyword kw">end</span>
1060 222: 
1061 223:             <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Finished processing %s / %s hosts in %.2f ms&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">color</span>, <span class="ruby-ivar">@responses</span>), <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">color</span>, <span class="ruby-ivar">@discovered</span>), <span class="ruby-ivar">@blocktime</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>]
1062 224:           <span class="ruby-keyword kw">else</span>
1063 225:             <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Finished processing %s hosts in %.2f ms&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:bold</span>, <span class="ruby-ivar">@responses</span>), <span class="ruby-ivar">@blocktime</span> <span class="ruby-operator">*</span> <span class="ruby-value">1000</span>]
1064 226:           <span class="ruby-keyword kw">end</span>
1065 227:         <span class="ruby-keyword kw">end</span>
1066 228: 
1067 229:         <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">no_response_report</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">&quot;&quot;</span>
1068 230:           <span class="ruby-identifier">result_text</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">no_response_report</span>
1069 231:         <span class="ruby-keyword kw">end</span>
1070 232: 
1071 233:         <span class="ruby-identifier">result_text</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
1072 234:       <span class="ruby-keyword kw">end</span></pre>
1073                                         </div>
1074                                         
1075                                 </div>
1076
1077                                 
1078                         </div>
1079
1080                 
1081                         <div id="reset-method" class="method-detail ">
1082                                 <a name="M000421"></a>
1083
1084                                 <div class="method-heading">
1085                                 
1086                                         <span class="method-name">reset</span><span
1087                                                 class="method-args">()</span>
1088                                         <span class="method-click-advice">click to toggle source</span>
1089                                 
1090                                 </div>
1091
1092                                 <div class="method-description">
1093                                         
1094                                         <p>
1095 Resets stats, if discovery time is set we keep it as it was
1096 </p>
1097                                         
1098
1099                                         
1100                                         <div class="method-source-code"
1101                                                 id="reset-source">
1102 <pre>
1103     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 14</span>
1104 14:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
1105 15:         <span class="ruby-ivar">@noresponsefrom</span> = []
1106 16:         <span class="ruby-ivar">@responsesfrom</span> = []
1107 17:         <span class="ruby-ivar">@responses</span> = <span class="ruby-value">0</span>
1108 18:         <span class="ruby-ivar">@starttime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_f</span>
1109 19:         <span class="ruby-ivar">@discoverytime</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@discoverytime</span>
1110 20:         <span class="ruby-ivar">@blocktime</span> = <span class="ruby-value">0</span>
1111 21:         <span class="ruby-ivar">@totaltime</span> = <span class="ruby-value">0</span>
1112 22:         <span class="ruby-ivar">@discovered</span> = <span class="ruby-value">0</span>
1113 23:         <span class="ruby-ivar">@discovered_nodes</span> = []
1114 24:         <span class="ruby-ivar">@okcount</span> = <span class="ruby-value">0</span>
1115 25:         <span class="ruby-ivar">@failcount</span> = <span class="ruby-value">0</span>
1116 26:         <span class="ruby-ivar">@noresponsefrom</span> = []
1117 27:         <span class="ruby-ivar">@requestid</span> = <span class="ruby-keyword kw">nil</span>
1118 28:         <span class="ruby-ivar">@aggregate_summary</span> = []
1119 29:         <span class="ruby-ivar">@aggregate_failures</span> = []
1120 30:       <span class="ruby-keyword kw">end</span></pre>
1121                                         </div>
1122                                         
1123                                 </div>
1124
1125                                 
1126                         </div>
1127
1128                 
1129                         <div id="text-for-aggregates-method" class="method-detail ">
1130                                 <a name="M000438"></a>
1131
1132                                 <div class="method-heading">
1133                                 
1134                                         <span class="method-name">text_for_aggregates</span><span
1135                                                 class="method-args">()</span>
1136                                         <span class="method-click-advice">click to toggle source</span>
1137                                 
1138                                 </div>
1139
1140                                 <div class="method-description">
1141                                         
1142                                         <p class="missing-docs">(Not documented)</p>
1143                                         
1144
1145                                         
1146                                         <div class="method-source-code"
1147                                                 id="text-for-aggregates-source">
1148 <pre>
1149      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 135</span>
1150 135:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">text_for_aggregates</span>
1151 136:         <span class="ruby-identifier">result</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
1152 137: 
1153 138:         <span class="ruby-ivar">@aggregate_summary</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">aggregate</span><span class="ruby-operator">|</span>
1154 139:           <span class="ruby-identifier">output_item</span> = <span class="ruby-identifier">aggregate</span>.<span class="ruby-identifier">result</span>[<span class="ruby-identifier">:output</span>]
1155 140: 
1156 141:           <span class="ruby-keyword kw">begin</span>
1157 142:             <span class="ruby-identifier">action_interface</span> = <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">action_interface</span>(<span class="ruby-identifier">aggregate</span>.<span class="ruby-identifier">action</span>)
1158 143:             <span class="ruby-identifier">display_as</span> = <span class="ruby-identifier">action_interface</span>[<span class="ruby-identifier">:output</span>][<span class="ruby-identifier">output_item</span>][<span class="ruby-identifier">:display_as</span>]
1159 144:           <span class="ruby-keyword kw">rescue</span>
1160 145:             <span class="ruby-identifier">display_as</span> = <span class="ruby-identifier">output_item</span>
1161 146:           <span class="ruby-keyword kw">end</span>
1162 147: 
1163 148:           <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aggregate</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Aggregate</span><span class="ruby-operator">::</span><span class="ruby-constant">Result</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>)
1164 149:             <span class="ruby-identifier">aggregate_report</span> = <span class="ruby-identifier">aggregate</span>.<span class="ruby-identifier">to_s</span>
1165 150:           <span class="ruby-keyword kw">else</span>
1166 151:             <span class="ruby-keyword kw">next</span>
1167 152:           <span class="ruby-keyword kw">end</span>
1168 153: 
1169 154:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:bold</span>, <span class="ruby-value str">&quot;Summary of %s:&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">display_as</span>)
1170 155:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span>
1171 156:           <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aggregate_report</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;&quot;</span>
1172 157:             <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">aggregate</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-value str">&quot;   &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">x</span>}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
1173 158:           <span class="ruby-keyword kw">else</span>
1174 159:             <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:yellow</span>, <span class="ruby-value str">&quot;     No aggregate summary could be computed&quot;</span>)
1175 160:           <span class="ruby-keyword kw">end</span>
1176 161:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span>
1177 162:         <span class="ruby-keyword kw">end</span>
1178 163: 
1179 164:         <span class="ruby-ivar">@aggregate_failures</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">failed</span><span class="ruby-operator">|</span>
1180 165:           <span class="ruby-keyword kw">case</span>(<span class="ruby-identifier">failed</span>[<span class="ruby-identifier">:type</span>])
1181 166:           <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:startup</span>
1182 167:             <span class="ruby-identifier">message</span> = <span class="ruby-value str">&quot;exception raised while processing startup hook&quot;</span>
1183 168:           <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:create</span>
1184 169:             <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;unspecified output '#{failed[:name]}' for the action&quot;</span>
1185 170:           <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:process_result</span>
1186 171:             <span class="ruby-identifier">message</span> = <span class="ruby-value str">&quot;exception raised while processing result data&quot;</span>
1187 172:           <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:summarize</span>
1188 173:             <span class="ruby-identifier">message</span> = <span class="ruby-value str">&quot;exception raised while summarizing&quot;</span>
1189 174:           <span class="ruby-keyword kw">end</span>
1190 175: 
1191 176:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:bold</span>, <span class="ruby-value str">&quot;Summary of %s:&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">failed</span>[<span class="ruby-identifier">:name</span>])
1192 177:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span>
1193 178:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">:yellow</span>, <span class="ruby-value str">&quot;     Could not compute summary - %s&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">message</span>)
1194 179:           <span class="ruby-identifier">result</span>.<span class="ruby-identifier">puts</span>
1195 180:         <span class="ruby-keyword kw">end</span>
1196 181: 
1197 182:         <span class="ruby-identifier">result</span>.<span class="ruby-identifier">string</span>
1198 183:       <span class="ruby-keyword kw">end</span></pre>
1199                                         </div>
1200                                         
1201                                 </div>
1202
1203                                 
1204                         </div>
1205
1206                 
1207                         <div id="time-block-execution-method" class="method-detail ">
1208                                 <a name="M000434"></a>
1209
1210                                 <div class="method-heading">
1211                                 
1212                                         <span class="method-name">time_block_execution</span><span
1213                                                 class="method-args">(action)</span>
1214                                         <span class="method-click-advice">click to toggle source</span>
1215                                 
1216                                 </div>
1217
1218                                 <div class="method-description">
1219                                         
1220                                         <p>
1221 helper to time block execution time
1222 </p>
1223                                         
1224
1225                                         
1226                                         <div class="method-source-code"
1227                                                 id="time-block-execution-source">
1228 <pre>
1229      <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 96</span>
1230  96:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">time_block_execution</span>(<span class="ruby-identifier">action</span>)
1231  97:         <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">action</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:start</span>
1232  98:           <span class="ruby-ivar">@block_start</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_f</span>
1233  99:         <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">action</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:end</span>
1234 100:           <span class="ruby-ivar">@blocktime</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@block_start</span>
1235 101:         <span class="ruby-keyword kw">else</span>
1236 102:           <span class="ruby-identifier">raise</span>(<span class="ruby-node">&quot;Uknown block action #{action}&quot;</span>)
1237 103:         <span class="ruby-keyword kw">end</span>
1238 104:       <span class="ruby-keyword kw">rescue</span>
1239 105:         <span class="ruby-ivar">@blocktime</span> = <span class="ruby-value">0</span>
1240 106:       <span class="ruby-keyword kw">end</span></pre>
1241                                         </div>
1242                                         
1243                                 </div>
1244
1245                                 
1246                         </div>
1247
1248                 
1249                         <div id="time-discovery-method" class="method-detail ">
1250                                 <a name="M000427"></a>
1251
1252                                 <div class="method-heading">
1253                                 
1254                                         <span class="method-name">time_discovery</span><span
1255                                                 class="method-args">(action)</span>
1256                                         <span class="method-click-advice">click to toggle source</span>
1257                                 
1258                                 </div>
1259
1260                                 <div class="method-description">
1261                                         
1262                                         <p>
1263 Utility to time discovery from :start to :end
1264 </p>
1265                                         
1266
1267                                         
1268                                         <div class="method-source-code"
1269                                                 id="time-discovery-source">
1270 <pre>
1271     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 83</span>
1272 83:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">time_discovery</span>(<span class="ruby-identifier">action</span>)
1273 84:         <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">action</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:start</span>
1274 85:           <span class="ruby-ivar">@discovery_start</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_f</span>
1275 86:         <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">action</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:end</span>
1276 87:           <span class="ruby-ivar">@discoverytime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@discovery_start</span>
1277 88:         <span class="ruby-keyword kw">else</span>
1278 89:           <span class="ruby-identifier">raise</span>(<span class="ruby-node">&quot;Uknown discovery action #{action}&quot;</span>)
1279 90:         <span class="ruby-keyword kw">end</span>
1280 91:       <span class="ruby-keyword kw">rescue</span>
1281 92:         <span class="ruby-ivar">@discoverytime</span> = <span class="ruby-value">0</span>
1282 93:       <span class="ruby-keyword kw">end</span></pre>
1283                                         </div>
1284                                         
1285                                 </div>
1286
1287                                 
1288                         </div>
1289
1290                 
1291                         <div id="to-hash-method" class="method-detail ">
1292                                 <a name="M000422"></a>
1293
1294                                 <div class="method-heading">
1295                                 
1296                                         <span class="method-name">to_hash</span><span
1297                                                 class="method-args">()</span>
1298                                         <span class="method-click-advice">click to toggle source</span>
1299                                 
1300                                 </div>
1301
1302                                 <div class="method-description">
1303                                         
1304                                         <p>
1305 returns a hash of our stats
1306 </p>
1307                                         
1308
1309                                         
1310                                         <div class="method-source-code"
1311                                                 id="to-hash-source">
1312 <pre>
1313     <span class="ruby-comment cmt"># File lib/mcollective/rpc/stats.rb, line 33</span>
1314 33:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span>
1315 34:         {<span class="ruby-identifier">:noresponsefrom</span>    =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@noresponsefrom</span>,
1316 35:          <span class="ruby-identifier">:starttime</span>         =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@starttime</span>,
1317 36:          <span class="ruby-identifier">:discoverytime</span>     =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@discoverytime</span>,
1318 37:          <span class="ruby-identifier">:blocktime</span>         =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@blocktime</span>,
1319 38:          <span class="ruby-identifier">:responses</span>         =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@responses</span>,
1320 39:          <span class="ruby-identifier">:totaltime</span>         =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@totaltime</span>,
1321 40:          <span class="ruby-identifier">:discovered</span>        =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@discovered</span>,
1322 41:          <span class="ruby-identifier">:discovered_nodes</span>  =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@discovered_nodes</span>,
1323 42:          <span class="ruby-identifier">:noresponsefrom</span>    =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@noresponsefrom</span>,
1324 43:          <span class="ruby-identifier">:okcount</span>           =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@okcount</span>,
1325 44:          <span class="ruby-identifier">:requestid</span>         =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@requestid</span>,
1326 45:          <span class="ruby-identifier">:failcount</span>         =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@failcount</span>,
1327 46:          <span class="ruby-identifier">:aggregate_summary</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@aggregate_summary</span>,
1328 47:          <span class="ruby-identifier">:aggregate_failures</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@aggregate_failures</span>}
1329 48:       <span class="ruby-keyword kw">end</span></pre>
1330                                         </div>
1331                                         
1332                                 </div>
1333
1334                                 
1335                         </div>
1336
1337                 
1338                 </div>
1339         
1340
1341         </div>
1342
1343
1344         <div id="rdoc-debugging-section-dump" class="debugging-section">
1345         
1346                 <p>Disabled; run with --debug to generate this.</p>
1347         
1348         </div>
1349
1350         <div id="validator-badges">
1351                 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1352                 <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
1353                         Rdoc Generator</a> 1.1.6</small>.</p>
1354         </div>
1355
1356 </body>
1357 </html>
1358