Class: NewRelic::StatsBase

Inherits:
Object show all
Includes:
Stats
Defined in:
lib/new_relic/stats.rb

Direct Known Subclasses

ApdexStats, BasicStats, MethodTraceStats

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Stats

#absent?, #apdex_score, #as_percentage, #as_percentage_of, #average_call_time, #average_exclusive_time, #calls_per_minute, #calls_per_second, #duration, #exclusive_time_percentage, #fraction_of, #get_apdex, #is_reset?, #merge, #merge!, #multiply_by, #reset, #round!, #split, #standard_deviation, #summary, #time_percentage, #time_str, #to_s, #total_call_time_per_minute

Constructor Details

#initializeStatsBase

Returns a new instance of StatsBase.



250
251
252
# File 'lib/new_relic/stats.rb', line 250

def initialize 
  reset
end

Instance Attribute Details

#call_countObject

Returns the value of attribute call_count.



243
244
245
# File 'lib/new_relic/stats.rb', line 243

def call_count
  @call_count
end

#max_call_timeObject

Returns the value of attribute max_call_time.



245
246
247
# File 'lib/new_relic/stats.rb', line 245

def max_call_time
  @max_call_time
end

#min_call_timeObject

Returns the value of attribute min_call_time.



244
245
246
# File 'lib/new_relic/stats.rb', line 244

def min_call_time
  @min_call_time
end

#sum_of_squaresObject

Returns the value of attribute sum_of_squares.



248
249
250
# File 'lib/new_relic/stats.rb', line 248

def sum_of_squares
  @sum_of_squares
end

#total_call_timeObject

Returns the value of attribute total_call_time.



246
247
248
# File 'lib/new_relic/stats.rb', line 246

def total_call_time
  @total_call_time
end

#total_exclusive_timeObject

Returns the value of attribute total_exclusive_time.



247
248
249
# File 'lib/new_relic/stats.rb', line 247

def total_exclusive_time
  @total_exclusive_time
end

Instance Method Details

#begin_timeObject



277
278
279
# File 'lib/new_relic/stats.rb', line 277

def begin_time
  0.0
end

#begin_time=(t) ⇒ Object

In this class, we explicitly don’t track begin and end time here, to save space during cross process serialization via xml. Still the accessor methods must be provided for merge to work.



271
272
# File 'lib/new_relic/stats.rb', line 271

def begin_time=(t)
end

#end_timeObject



281
282
283
# File 'lib/new_relic/stats.rb', line 281

def end_time
  0.0
end

#end_time=(t) ⇒ Object



274
275
# File 'lib/new_relic/stats.rb', line 274

def end_time=(t)
end

#freezeObject



254
255
256
257
# File 'lib/new_relic/stats.rb', line 254

def freeze
  @end_time = Time.now
  super
end

#to_json(*a) ⇒ Object



259
260
261
262
263
264
265
266
# File 'lib/new_relic/stats.rb', line 259

def to_json(*a)
  {'call_count' => call_count, 
  'min_call_time' => min_call_time, 
  'max_call_time' => max_call_time, 
  'total_call_time' => total_call_time,
  'total_exclusive_time' => total_exclusive_time,
  'sum_of_squares' => sum_of_squares}.to_json(*a)
end