Example #1
0
	def metric_add(self, dn, bunit=None, dtype=None):
		self.logger.debug("Add metric '%s' (%s)" % (dn, bunit))

		if not self.metric_exist(dn=dn):
			metric_id = self.metric_make_id(dn)

			self.logger.debug(" + Metric ID: '%s'" % metric_id)
			mymetric = metric(
							_id=metric_id,
							dn=dn,
							bunit=bunit,
							dtype=dtype,
							node=self,
							retention=self.retention,
							storage=self.storage,
							point_per_dca=self.point_per_dca,
							rotate_plan=self.rotate_plan,
						)
						
			mymetric.save()
			self.metrics[metric_id]	= mymetric
			self.save()
			
			return mymetric
		else:
			self.logger.debug(" + Metric allready exist")
			_id = self.metric_get_id(dn=dn)
			return metric_get(_id=_id)
Example #2
0
	def metric_get(self, dn=None, _id=None):
		_id = self.metric_get_id(dn, _id)
			
		try:
			item = self.metrics[_id]
		except:
			self.logger.error("Unknown metric '%s' ... " % dn)
			return None

		if not isinstance(item ,metric):
			## load metric from store
			item = metric(_id=item['id'], node=self, storage=self.storage)
			self.metrics[_id] = item

		return item