예제 #1
0
	def setup(self):
		config = self.config
		logger.info('setup', name=config["name"], module=config["probe_module"], config=pprint.pformat(config))
		# logger.warn('NODE: ' + HOSTNAME, name=config["name"], module=config["probe_module"], config=pprint.pformat(config))
		probe_mod = blipp_import(config["probe_module"])
		self.probe = probe_mod.Probe(self.service, self.measurement)

		if "." in config["collection_schedule"]:
			sched_file, sched_name = config["collection_schedule"].split('.')
		else:
			sched_file, sched_name = "builtins", config["collection_schedule"]

		logger.info('setup', sched_file=sched_file, sched_name=sched_name)
		logger.warn('NODE: ' + HOSTNAME, sched_file=sched_file, sched_name=sched_name)
		self.scheduler = blipp_import("schedules." + sched_file, fromlist=[1]).__getattribute__(sched_name)
		self.scheduler = self.scheduler(self.service, self.measurement)
		self.collector = Collector(self.service, self.measurement)
예제 #2
0
    def _post_measurement(self, probe):
        probe_mod = blipp_import(probe["probe_module"])
        if "EVENT_TYPES" in probe_mod.__dict__:
            eventTypes = probe_mod.EVENT_TYPES.values()
        else:
            try:
                eventTypes = probe["eventTypes"].values()
            except KeyError:
                logger.warn("_post_measurement", msg="No eventTypes present")
                eventTypes = []

        measurement = {}
        measurement["service"] = self.config["selfRef"]

        measurement["configuration"] = probe
        measurement["eventTypes"] = eventTypes
        r = self.unis.post("/measurements", measurement)
        return r