def write_to_db(self): """ Write the parsed content to the db. """ # Benchmark logs query bl_query = """ INSERT INTO benchmark_logs (machine_desc, brlcad_version, running_time, time_of_execution, approx_vgr, log_vgr, params, results, complete_info) VALUES (\"{:s}\", \"{:s}\", {:d}, \"{:s}\", {:d}, {:f}, \"{:s}\", \"{:s}\", \"{:s}\") """.format(self.get_machine_desc(), self.get_brlcad_version(), self.get_running_time(), self.get_time_of_execution(), self.get_approx_vgr(), self.get_log_vgr(), self.get_params(), self.get_raytracing_results(), util.sanitize_file(self.content)) benchmark_id = dbutils.db_insert(self.connection, bl_query) if benchmark_id == None : self.logger.error("Error: Benchmark insert might not have taken place") md5_query = """ INSERT INTO `md5_log` (benchmark_id, file_name, `md5sum`, archived, db_entries) VALUES ({:d}, \"{:s}\", \"{:s}\", \"{:s}\", \"{:s}\") """.format(benchmark_id, self.filename.strip().split('/')[-1], self.md5sum_file, 'YES', 'YES') log_id = dbutils.db_insert(self.connection, md5_query) if log_id == None : self.logger.error("Error: Log insert might not have taken place") hw_query = """ INSERT INTO `machine_info` (`benchmark_id`, `osrelease`, `hostname`, `cores`, `processors`, `physical_addr_size`, `virtual_addr_size`, `vendor_id`, `ostype`, `cpu_mhz`, `model_name`) VALUES ({:d}, \"{:s}\", \"{:s}\", {:d}, {:d}, {:d}, {:d}, "{:s}\", \"{:s}\", {:f}, \"{:s}\") """.format(benchmark_id, self.get_osrelease(), self.get_hostname(), self.get_cores(), self.get_proc_count(), self.get_address_sizes()[0], self.get_address_sizes()[1], self.get_vendor_id(), self.get_ostype(), self.get_cpu_mhz(), self.get_model_name()) hw_id = dbutils.db_insert(self.connection, hw_query) if hw_id == None : self.logger.error("Error: Insertion into the machine_info table might not have taken place") self.write_individual_results(benchmark_id) return benchmark_id
def write_individual_results(self, benchmark_id): """ """ tests = [ 'moss', 'world', 'star', 'bldg391', 'm35', 'sphflake', 'average' ] abs = self.get_abs_rays_per_sec() vgr = self.get_vgr_rays_per_sec() res = self.get_raytracing_results() for test in tests: if test == 'average': result = 'NULL' else: result = res[test] query = """ INSERT INTO `rt_{:s}` (benchmark_id, abs_rps, vgr_rps, result) VALUES ({:d}, {:f}, {:f}, \"{:s}\") """.format(test, int(benchmark_id), float(abs[test]), float(vgr[test]), result) id = dbutils.db_insert(self.connection, query) if id == None: self.logger.error( "Error: Insertion into the rt_{:s} table might not have taken place. \n Query : {:s}" .format(test, query))
def write_individual_results(self, benchmark_id): """ """ tests = ['moss', 'world', 'star', 'bldg391', 'm35', 'sphflake', 'average'] abs = self.get_abs_rays_per_sec() vgr = self.get_vgr_rays_per_sec() res = self.get_raytracing_results() for test in tests : if test == 'average' : result = 'NULL' else : result = res[test] query = """ INSERT INTO `rt_{:s}` (benchmark_id, abs_rps, vgr_rps, result) VALUES ({:d}, {:f}, {:f}, \"{:s}\") """.format(test, int(benchmark_id), float(abs[test]), float(vgr[test]), result) id = dbutils.db_insert(self.connection, query) if id == None : self.logger.error("Error: Insertion into the rt_{:s} table might not have taken place. \n Query : {:s}".format(test, query))
def write_to_db(self): """ Write the parsed content to the db. """ # Benchmark logs query bl_query = """ INSERT INTO benchmark_logs (machine_desc, brlcad_version, running_time, time_of_execution, approx_vgr, log_vgr, params, results, complete_info) VALUES (\"{:s}\", \"{:s}\", {:d}, \"{:s}\", {:d}, {:f}, \"{:s}\", \"{:s}\", \"{:s}\") """.format(self.get_machine_desc(), self.get_brlcad_version(), self.get_running_time(), self.get_time_of_execution(), self.get_approx_vgr(), self.get_log_vgr(), self.get_params(), self.get_raytracing_results(), util.sanitize_file(self.content)) benchmark_id = dbutils.db_insert(self.connection, bl_query) if benchmark_id == None: self.logger.error( "Error: Benchmark insert might not have taken place") md5_query = """ INSERT INTO `md5_log` (benchmark_id, file_name, `md5sum`, archived, db_entries) VALUES ({:d}, \"{:s}\", \"{:s}\", \"{:s}\", \"{:s}\") """.format(benchmark_id, self.filename.strip().split('/')[-1], self.md5sum_file, 'YES', 'YES') log_id = dbutils.db_insert(self.connection, md5_query) if log_id == None: self.logger.error("Error: Log insert might not have taken place") hw_query = """ INSERT INTO `machine_info` (`benchmark_id`, `osrelease`, `hostname`, `cores`, `processors`, `physical_addr_size`, `virtual_addr_size`, `vendor_id`, `ostype`, `cpu_mhz`, `model_name`) VALUES ({:d}, \"{:s}\", \"{:s}\", {:d}, {:d}, {:d}, {:d}, "{:s}\", \"{:s}\", {:f}, \"{:s}\") """.format(benchmark_id, self.get_osrelease(), self.get_hostname(), self.get_cores(), self.get_proc_count(), self.get_address_sizes()[0], self.get_address_sizes()[1], self.get_vendor_id(), self.get_ostype(), self.get_cpu_mhz(), self.get_model_name()) hw_id = dbutils.db_insert(self.connection, hw_query) if hw_id == None: self.logger.error( "Error: Insertion into the machine_info table might not have taken place" ) self.write_individual_results(benchmark_id) return benchmark_id