# File lib/puppet/util/metric.rb, line 116
116:     def store(time)
117:         unless Puppet.features.rrd?
118:             Puppet.warning "RRD library is missing; cannot store metrics"
119:             return
120:         end
121:         unless FileTest.exists?(self.path)
122:             self.create(time - 5)
123:         end
124: 
125:         @rrd ||= RRDtool.new(self.path)
126: 
127:         # XXX this is not terribly error-resistant
128:         args = [time]
129:         temps = []
130:         values.each { |value|
131:             #Puppet.warning "value[0]: #{value[0]}; value[1]: #{value[1]}; value[2]: #{value[2]}; "
132:             args.push value[2]
133:             temps.push value[0]
134:         }
135:         arg = args.join(":")
136:         template = temps.join(":")
137:         begin
138:             @rrd.update( template, [ arg ] )
139:             #system("rrdtool updatev %s '%s'" % [self.path, arg])
140:         rescue => detail
141:             raise Puppet::Error, "Failed to update %s: %s" % [self.name,detail]
142:         end
143:     end