Class: RRD::Archive

Inherits:
Object
  • Object
show all
Defined in:
lib/rrd/archive.rb

Constant Summary collapse

RRA_cdp_xff_val =
0
RRA_hw_alpha =
1
RRA_hw_beta =
2
RRA_dependent_rra_idx =
3
RRA_period =
4
RRA_seasonal_gamma =
1
RRA_seasonal_smoothing_window =
2
RRA_seasonal_smooth_idx =
4
RRA_delta_pos =
1
RRA_delta_neg =
2
RRA_window_len =
4
RRA_failure_threshold =
5

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cf, rows, per_row, options) ⇒ Archive

Returns a new instance of Archive.



20
21
22
# File 'lib/rrd/archive.rb', line 20

def initialize(cf, rows, per_row, options)
  @cf, @rows, @pdpr, @options = cf, rows, per_row, options
end

Instance Attribute Details

#cfObject (readonly)

Returns the value of attribute cf.



16
17
18
# File 'lib/rrd/archive.rb', line 16

def cf
  @cf
end

#current_rowObject

Returns the value of attribute current_row.



18
19
20
# File 'lib/rrd/archive.rb', line 18

def current_row
  @current_row
end

#data_pointerObject

Returns the value of attribute data_pointer.



18
19
20
# File 'lib/rrd/archive.rb', line 18

def data_pointer
  @data_pointer
end

#optionsObject (readonly)

Returns the value of attribute options.



16
17
18
# File 'lib/rrd/archive.rb', line 16

def options
  @options
end

#pdprObject (readonly)

Returns the value of attribute pdpr.



16
17
18
# File 'lib/rrd/archive.rb', line 16

def pdpr
  @pdpr
end

#rowsObject (readonly)

Returns the value of attribute rows.



16
17
18
# File 'lib/rrd/archive.rb', line 16

def rows
  @rows
end

Class Method Details

.parse(reader) ⇒ Object



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
# File 'lib/rrd/archive.rb', line 28

def self.parse(reader)
  cf = reader.read_string(20, "A*").downcase.to_sym
  rows, pdpr = reader.read(16, "QQ", align: true)

  params = reader.read_uniparams(10)

  options = {}

  case cf
  when :hwpredict, :mhwpredict
    options[:alpha] = params[RRA_hw_alpha].to_f
    options[:beta]  = params[RRA_hw_beta].to_f
  when :seasonal, :devseasonal
    options[:gamma] = params[RRA_seasonal_gamma].to_f
    options[:smoothing_window]  = params[RRA_seasonal_smoothing_window].to_f
  when :failures
    options[:delta_pos] = params[RRA_delta_pos].to_f
    options[:delta_neg] = params[RRA_delta_neg].to_f
    options[:failure_threshold] = params[RRA_failure_threshold].to_i
    options[:window_length] = params[RRA_window_len].to_i
  when :devpredict
  else
    options[:xff] = params[RRA_cdp_xff_val].to_f
  end
  
  Archive.new(cf, rows, pdpr, options)
end

Instance Method Details

#cdpObject



24
25
26
# File 'lib/rrd/archive.rb', line 24

def cdp
  @cdp ||= []
end