def get_job_artifact_list(self, offset, limit, conditions=None): """ Retrieve a list of job artifacts. The conditions parameter is a dict containing a set of conditions for each key. e.g.: { 'job_id': set([('IN', (1, 2))]) } """ replace_str, placeholders = self._process_conditions( conditions, self.INDEXED_COLUMNS['job_artifact'] ) repl = [replace_str] proc = "jobs.selects.get_job_artifact" data = self.execute( proc=proc, replace=repl, placeholders=placeholders, limit=limit, offset=offset, debug_show=self.DEBUG, ) for artifact in data: artifact["blob"] = utils.decompress_if_needed(artifact["blob"]) if artifact["type"] == "json": artifact["blob"] = json.loads(artifact["blob"]) return data
def get_job_artifact_list(self, offset, limit, conditions=None): """ Retrieve a list of job artifacts. The conditions parameter is a dict containing a set of conditions for each key. e.g.: { 'job_id': set([('IN', (1, 2))]) } """ replace_str, placeholders = self._process_conditions( conditions, self.INDEXED_COLUMNS['job_artifact']) repl = [replace_str] proc = "jobs.selects.get_job_artifact" data = self.execute( proc=proc, replace=repl, placeholders=placeholders, limit=limit, offset=offset, debug_show=self.DEBUG, ) for artifact in data: artifact["blob"] = utils.decompress_if_needed(artifact["blob"]) if artifact["type"] == "json": artifact["blob"] = json.loads(artifact["blob"]) return data
def _rewrite_series(self, jm, signature_hash, signature_properties, subtest_signature_mapping, extra_subtest_signatures): new_props = TalosDataAdapter._transform_signature_properties( signature_properties, significant_keys=Command.SIGNIFICANT_KEYS) if 'subtest_signatures' in new_props: suitekey = self._get_suitekey(new_props) # rewrite a new set of subtest signatures old_subtest_signatures = new_props['subtest_signatures'] new_subtest_signatures = set() for old_signature in old_subtest_signatures: try: new_subtest_signatures.add( subtest_signature_mapping[old_signature]) except: # key may not exist if script interrupted, get # suite signatures via extra_subtest_signatures for sig in extra_subtest_signatures.get(suitekey, []): new_subtest_signatures.add(sig) new_props['subtest_signatures'] = sorted(new_subtest_signatures) new_hash = TalosDataAdapter.get_series_signature(new_props) print "%s -> %s" % (signature_hash, new_hash) jm.set_series_signature(new_hash, new_props) for time_interval in PerformanceTimeInterval.all_valid_time_intervals(): series_list = jm.get_performance_series_from_signatures( [signature_hash], time_interval) series = utils.decompress_if_needed(series_list[0]['blob']) jm.store_performance_series(time_interval, 'talos_data', str(new_hash), series) jm.execute(proc='jobs.deletes.delete_performance_series', placeholders=[signature_hash]) jm.execute(proc='jobs.deletes.delete_series_signature', placeholders=[signature_hash]) return new_hash