Class: NewRelic::StatsBase

Inherits:
Object
  • 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, #duration, #exclusive_time_percentage, #fraction_of, #get_apdex, #is_reset?, #merge, #merge!, #multiply_by, #reset, #round!, #split, #standard_deviation, #sum_merge!, #summary, #time_percentage, #time_str, #to_s, #total_call_time_per_minute

Constructor Details

#initializeStatsBase

Returns a new instance of StatsBase.



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

def initialize
  reset
end

Instance Attribute Details

#call_countObject

Returns the value of attribute call_count.



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

def call_count
  @call_count
end

#max_call_timeObject

Returns the value of attribute max_call_time.



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

def max_call_time
  @max_call_time
end

#min_call_timeObject

Returns the value of attribute min_call_time.



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

def min_call_time
  @min_call_time
end

#sum_of_squaresObject

Returns the value of attribute sum_of_squares.



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

def sum_of_squares
  @sum_of_squares
end

#total_call_timeObject

Returns the value of attribute total_call_time.



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

def total_call_time
  @total_call_time
end

#total_exclusive_timeObject

Returns the value of attribute total_exclusive_time.



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

def total_exclusive_time
  @total_exclusive_time
end

Instance Method Details

#begin_timeObject



283
284
285
# File 'lib/new_relic/stats.rb', line 283

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.



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

def begin_time=(t)
end

#end_timeObject



287
288
289
# File 'lib/new_relic/stats.rb', line 287

def end_time
  0.0
end

#end_time=(t) ⇒ Object



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

def end_time=(t)
end

#freezeObject



260
261
262
263
# File 'lib/new_relic/stats.rb', line 260

def freeze
  @end_time = Time.now
  super
end

#to_json(*a) ⇒ Object



265
266
267
268
269
270
271
272
# File 'lib/new_relic/stats.rb', line 265

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