예제 #1
0
파일: parser.py 프로젝트: BRL-CAD/benchmark
 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
예제 #2
0
파일: parser.py 프로젝트: zenem/benchmark
    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))
예제 #3
0
파일: parser.py 프로젝트: BRL-CAD/benchmark
 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))
예제 #4
0
파일: parser.py 프로젝트: zenem/benchmark
    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