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.



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

def initialize 
  reset
end

Instance Attribute Details

#call_countObject

Returns the value of attribute call_count.



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

def call_count
  @call_count
end

#max_call_timeObject

Returns the value of attribute max_call_time.



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

def max_call_time
  @max_call_time
end

#min_call_timeObject

Returns the value of attribute min_call_time.



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

def min_call_time
  @min_call_time
end

#sum_of_squaresObject

Returns the value of attribute sum_of_squares.



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

def sum_of_squares
  @sum_of_squares
end

#total_call_timeObject

Returns the value of attribute total_call_time.



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

def total_call_time
  @total_call_time
end

#total_exclusive_timeObject

Returns the value of attribute total_exclusive_time.



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

def total_exclusive_time
  @total_exclusive_time
end

Instance Method Details

#begin_timeObject



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

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.



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

def begin_time=(t)
end

#end_timeObject



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

def end_time
  0.0
end

#end_time=(t) ⇒ Object



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

def end_time=(t)
end

#freezeObject



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

def freeze
  @end_time = Time.now
  super
end

#to_json(*a) ⇒ Object



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

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