X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Fall%2Fcollector.py;h=792e25fbdb966898b362cffb47508e1efab36519;hb=bac63fdc5983e2ade1902f711c1e7899d82ca4ae;hp=f13a3923fe732f204772f550136c34163acf030a;hpb=ab601cf5f7775071e59c6bdbb3369889244f70a5;p=nepi.git diff --git a/src/nepi/resources/all/collector.py b/src/nepi/resources/all/collector.py index f13a3923..792e25fb 100644 --- a/src/nepi/resources/all/collector.py +++ b/src/nepi/resources/all/collector.py @@ -28,7 +28,7 @@ import tempfile @clsinit_copy class Collector(ResourceManager): - """ The collector is reponsible of collecting traces + """ The collector entity is reponsible of collecting traces of a same type associated to RMs into a local directory. .. class:: Class Args : @@ -47,18 +47,19 @@ class Collector(ResourceManager): @classmethod def _register_attributes(cls): - trace_name = Attribute("traceName", "Name of the trace to be collected", + trace_name = Attribute("traceName", + "Name of the trace to be collected", flags = Flags.Design) - store_dir = Attribute("storeDir", "Path to local directory to store trace results", - default = tempfile.gettempdir(), - flags = Flags.Design) - sub_dir = Attribute("subDir", "Sub directory to collect traces into", + + sub_dir = Attribute("subDir", + "Sub directory to collect traces into", flags = Flags.Design) - rename = Attribute("rename", "Name to give to the collected trace file", + + rename = Attribute("rename", + "Name to give to the collected trace file", flags = Flags.Design) cls._register_attribute(trace_name) - cls._register_attribute(store_dir) cls._register_attribute(sub_dir) cls._register_attribute(rename) @@ -79,15 +80,14 @@ class Collector(ResourceManager): self.error(msg) raise RuntimeError, msg - store_dir = self.get("storeDir") - self._store_path = os.path.join(store_dir, self.ec.exp_id, self.ec.run_id) + self._store_path = self.ec.run_dir subdir = self.get("subDir") if subdir: - self._store_path = os.path.join(self._store_path, subdir) + self._store_path = os.path.join(self.store_path, subdir) msg = "Creating local directory at %s to store %s traces " % ( - store_dir, trace_name) + self.store_path, trace_name) self.info(msg) try: @@ -121,9 +121,11 @@ class Collector(ResourceManager): f.write(result) f.close() except: + import traceback + err = traceback.format_exc() msg = "Couldn't retrieve trace %s for %d at %s " % (trace_name, rm.guid, fpath) - self.error(msg) + self.error(msg, out = "", err = err) continue super(Collector, self).do_release()