Module: RDKit::Introspection::Commandstats::ClassMethods

Included in:
RDKit::Introspection::Commandstats
Defined in:
lib/rdkit/introspection.rb

Constant Summary collapse

@@instance =
Commandstats.new

Instance Method Summary collapse

Instance Method Details

#infoObject



144
145
146
147
148
149
150
151
152
153
# File 'lib/rdkit/introspection.rb', line 144

def info
  cmds = @@instance.data.keys.map { |key| key.match(/^(.+)_/)[1] }.uniq

  Hash[cmds.map do |cmd|
    calls = @@instance.data["#{cmd}_calls"]
    usec = @@instance.data["#{cmd}_usec"]

    ["comstat_#{cmd}", "calls=#{calls},usec=#{usec},usec_per_call=#{'%.2f' % (usec.to_f / calls)}"]
  end].sort_by { |k,v| k }
end

#record(cmd, usec) ⇒ Object



139
140
141
142
# File 'lib/rdkit/introspection.rb', line 139

def record(cmd, usec)
  @@instance.data["#{cmd.downcase}_calls"] += 1
  @@instance.data["#{cmd.downcase}_usec"] += usec
end

#resetObject



135
136
137
# File 'lib/rdkit/introspection.rb', line 135

def reset
  @@instance = Commandstats.new
end