Class: RubyJmeter::Plugins::PerfmonCollector

Inherits:
Object
  • Object
show all
Includes:
Helper
Defined in:
lib/ruby-jmeter/plugins/perfmon_collector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helper

#enabled, #enabled_disabled, #update, #update_at_xpath, #update_collection

Constructor Details

#initialize(name, params = {}, filename = "perfMon.jtl") ⇒ PerfmonCollector

Returns a new instance of PerfmonCollector.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/ruby-jmeter/plugins/perfmon_collector.rb', line 6

def initialize(name, params={}, filename="perfMon.jtl")
  metricNodes = params.collect do |m|
    "
      <collectionProp name=\"\">
        <stringProp name=\"\">#{m[:server]}</stringProp>
        <stringProp name=\"\">#{m[:port]}</stringProp>
        <stringProp name=\"\">#{m[:metric]}</stringProp>
        <stringProp name=\"\">#{m[:parameters]}</stringProp>
      </collectionProp>
    "
  end

  metricConnections = Nokogiri::XML(<<-XML.strip_heredoc)
    <collectionProp name="metricConnections">
        #{metricNodes.join "\n"}
    </collectionProp>
  XML

  @doc = Nokogiri::XML(<<-XML.strip_heredoc)
    <kg.apc.jmeter.perfmon.PerfMonCollector guiclass="kg.apc.jmeter.vizualizers.PerfMonGui" testclass="kg.apc.jmeter.perfmon.PerfMonCollector" testname="#{name}" enabled="true">
      <boolProp name="ResultCollector.error_logging">false</boolProp>
      <objProp>
        <name>saveConfig</name>
        <value class="SampleSaveConfiguration">
          <time>true</time>
          <latency>true</latency>
          <timestamp>true</timestamp>
          <success>true</success>
          <label>true</label>
          <code>true</code>
          <message>false</message>
          <threadName>true</threadName>
          <dataType>false</dataType>
          <encoding>false</encoding>
          <assertions>false</assertions>
          <subresults>false</subresults>
          <responseData>false</responseData>
          <samplerData>false</samplerData>
          <xml>true</xml>
          <fieldNames>false</fieldNames>
          <responseHeaders>false</responseHeaders>
          <requestHeaders>false</requestHeaders>
          <responseDataOnError>false</responseDataOnError>
          <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
          <assertionsResultsToSave>0</assertionsResultsToSave>
          <bytes>true</bytes>
          <threadCounts>true</threadCounts>
          <sampleCount>true</sampleCount>
        </value>
      </objProp>
      <stringProp name="filename">#{filename}</stringProp>
      <longProp name="interval_grouping">1000</longProp>
      <boolProp name="graph_aggregated">false</boolProp>
      <stringProp name="include_sample_labels"></stringProp>
      <stringProp name="exclude_sample_labels"></stringProp>
      <stringProp name="start_offset"></stringProp>
      <stringProp name="end_offset"></stringProp>
      <boolProp name="include_checkbox_state">false</boolProp>
      <boolProp name="exclude_checkbox_state">false</boolProp>
      #{metricConnections.root.to_s}
    </kg.apc.jmeter.perfmon.PerfMonCollector>
  XML
  update params
end

Instance Attribute Details

#docObject

Returns the value of attribute doc.



4
5
6
# File 'lib/ruby-jmeter/plugins/perfmon_collector.rb', line 4

def doc
  @doc
end