コード例 #1
0
 def test_merge_logger(self):
     proc_ps_path = os.path.join(os.path.dirname(sys.argv[0]), 'test_data/process_tree/proc_ps.log')
     trace = self.trace
     writer = self.writer
     parsing.parse_file(writer, trace, proc_ps_path)
     trace.compile(writer)
     processtree = process_tree.ProcessTree(writer, None, trace.ps_stats, \
         trace.ps_stats.sample_period, None, False, None, None, False, for_testing=True)
     removed = processtree.merge_logger(processtree.process_tree, 'bootchartd', None, False)
     self.assertNotEqual(removed, 0)
コード例 #2
0
 def test_merge_logger(self):
     proc_ps_path = os.path.join(os.path.dirname(sys.argv[0]),
                                 'test_data/process_tree/proc_ps.log')
     trace = self.trace
     writer = self.writer
     parsing.parse_file(writer, trace, proc_ps_path)
     trace.compile(writer)
     processtree = process_tree.ProcessTree(writer, None, trace.ps_stats, \
         trace.ps_stats.sample_period, None, False, None, None, False, for_testing=True)
     removed = processtree.merge_logger(processtree.process_tree,
                                        'bootchartd', None, False)
     self.assertNotEqual(removed, 0)
コード例 #3
0
ファイル: process_tree_test.py プロジェクト: 01org/luv-yocto
    def setUp(self):
        self.name = "Process tree unittest"
        self.rootdir = os.path.join(os.path.dirname(sys.argv[0]), '../../examples/1/')

        parser = main._mk_options_parser()
        options, args = parser.parse_args(['--q', self.rootdir])
        writer = main._mk_writer(options)
        trace = parsing.Trace(writer, args, options)

        parsing.parse_file(writer, trace, self.mk_fname('proc_ps.log'))
        trace.compile(writer)
        self.processtree = process_tree.ProcessTree(writer, None, trace.ps_stats, \
            trace.ps_stats.sample_period, None, options.prune, None, None, False, for_testing = True)
コード例 #4
0
    def setUp(self):
        self.name = "Process tree unittest"
        self.rootdir = os.path.join(os.path.dirname(sys.argv[0]),
                                    '../../examples/1/')

        parser = main._mk_options_parser()
        options, args = parser.parse_args(['--q', self.rootdir])
        writer = main._mk_writer(options)
        trace = parsing.Trace(writer, args, options)

        parsing.parse_file(writer, trace, self.mk_fname('proc_ps.log'))
        trace.compile(writer)
        self.processtree = process_tree.ProcessTree(writer, None, trace.ps_stats, \
            trace.ps_stats.sample_period, None, options.prune, None, None, False, for_testing = True)
コード例 #5
0
ファイル: parser_test.py プロジェクト: jlec/bootchart
	def testparseProcDiskStatLog(self):
		trace = parsing.Trace(writer, args, options)
		state_with_headers = parsing.parse_file(writer, trace, self.mk_fname('header'))
		state_with_headers.headers['system.cpu'] = 'xxx (2)'
		samples = parsing.parse_file(writer, state_with_headers, self.mk_fname('proc_diskstats.log')).disk_stats
		self.assertEqual(141, len(samples))
	
		for index, line in enumerate(open(self.mk_fname('extract.proc_diskstats.log'))):
			tokens = line.split('\t')
			sample = samples[index]
			if debug:		
				print(line.rstrip())
				print(sample)
				print('-------------------')
			
			self.assertEqual(tokens[0], str(sample.time))
			self.assert_(floatEq(float(tokens[1]), sample.read))
			self.assert_(floatEq(float(tokens[2]), sample.write))
			self.assert_(floatEq(float(tokens[3]), sample.util))
コード例 #6
0
    def testparseProcDiskStatLog(self):
        trace = parsing.Trace(writer, args, options)
        state_with_headers = parsing.parse_file(writer, trace,
                                                self.mk_fname('header'))
        state_with_headers.headers['system.cpu'] = 'xxx (2)'
        samples = parsing.parse_file(
            writer, state_with_headers,
            self.mk_fname('proc_diskstats.log')).disk_stats
        self.assertEqual(141, len(samples))

        diskstats_data = open(self.mk_fname('extract.proc_diskstats.log'))
        for index, line in enumerate(diskstats_data):
            tokens = line.split('\t')
            sample = samples[index]
            if debug:
                print(line.rstrip())
                print(sample)
                print('-------------------')

            self.assertEqual(tokens[0], str(sample.time))
            self.assertTrue(floatEq(float(tokens[1]), sample.read))
            self.assertTrue(floatEq(float(tokens[2]), sample.write))
            self.assertTrue(floatEq(float(tokens[3]), sample.util))
        diskstats_data.close()
コード例 #7
0
ファイル: parser_test.py プロジェクト: jlec/bootchart
	def testparseProcStatLog(self):
		trace = parsing.Trace(writer, args, options)
		samples = parsing.parse_file(writer, trace, self.mk_fname('proc_stat.log')).cpu_stats
		self.assertEqual(141, len(samples))
			
		for index, line in enumerate(open(self.mk_fname('extract.proc_stat.log'))):
			tokens = line.split('\t')
			sample = samples[index]
			if debug:
				print(line.rstrip())
				print(sample)
				print('-------------------')
			self.assert_(floatEq(float(tokens[0]), sample.time))
			self.assert_(floatEq(float(tokens[1]), sample.user))
			self.assert_(floatEq(float(tokens[2]), sample.sys))
			self.assert_(floatEq(float(tokens[3]), sample.io))
コード例 #8
0
ファイル: parser_test.py プロジェクト: jlec/bootchart
	def testParseProcPsLog(self):
		trace = parsing.Trace(writer, args, options)
		state = parsing.parse_file(writer, trace, self.mk_fname('proc_ps.log'))
		samples = state.ps_stats
		processes = samples.process_map
		sorted_processes = [processes[k] for k in sorted(processes.keys())]
		
		for index, line in enumerate(open(self.mk_fname('extract2.proc_ps.log'))):
			tokens = line.split();
			process = sorted_processes[index]
			if debug:	
				print(tokens[0:4])
				print(process.pid / 1000, process.cmd, process.ppid, len(process.samples))
				print('-------------------')

			self.assertEqual(tokens[0], str(process.pid / 1000))
			self.assertEqual(tokens[1], str(process.cmd))
			self.assertEqual(tokens[2], str(process.ppid / 1000))
			self.assertEqual(tokens[3], str(len(process.samples)))
コード例 #9
0
    def testparseProcStatLog(self):
        trace = parsing.Trace(writer, args, options)
        samples = parsing.parse_file(writer, trace,
                                     self.mk_fname('proc_stat.log')).cpu_stats
        self.assertEqual(141, len(samples))

        stat_data = open(self.mk_fname('extract.proc_stat.log'))
        for index, line in enumerate(stat_data):
            tokens = line.split('\t')
            sample = samples[index]
            if debug:
                print(line.rstrip())
                print(sample)
                print('-------------------')
            self.assertTrue(floatEq(float(tokens[0]), sample.time))
            self.assertTrue(floatEq(float(tokens[1]), sample.user))
            self.assertTrue(floatEq(float(tokens[2]), sample.sys))
            self.assertTrue(floatEq(float(tokens[3]), sample.io))
        stat_data.close()
コード例 #10
0
    def testParseProcPsLog(self):
        trace = parsing.Trace(writer, args, options)
        state = parsing.parse_file(writer, trace, self.mk_fname('proc_ps.log'))
        samples = state.ps_stats
        processes = samples.process_map
        sorted_processes = [processes[k] for k in sorted(processes.keys())]

        ps_data = open(self.mk_fname('extract2.proc_ps.log'))
        for index, line in enumerate(ps_data):
            tokens = line.split()
            process = sorted_processes[index]
            if debug:
                print(tokens[0:4])
                print(process.pid / 1000, process.cmd, process.ppid,
                      len(process.samples))
                print('-------------------')

            self.assertEqual(tokens[0], str(process.pid // 1000))
            self.assertEqual(tokens[1], str(process.cmd))
            self.assertEqual(tokens[2], str(process.ppid // 1000))
            self.assertEqual(tokens[3], str(len(process.samples)))
        ps_data.close()
コード例 #11
0
ファイル: parser_test.py プロジェクト: jlec/bootchart
	def test_parseTimedBlocks(self):
		trace = parsing.Trace(writer, args, options)
		state = parsing.parse_file(writer, trace, self.mk_fname('proc_diskstats.log'))
		self.assertEqual(141, len(state.disk_stats))		
コード例 #12
0
ファイル: parser_test.py プロジェクト: jlec/bootchart
	def testParseHeader(self):
		trace = parsing.Trace(writer, args, options)
		state = parsing.parse_file(writer, trace, self.mk_fname('header'))
		self.assertEqual(6, len(state.headers))
		self.assertEqual(2, parsing.get_num_cpus(state.headers))
コード例 #13
0
 def test_parseTimedBlocks(self):
     trace = parsing.Trace(writer, args, options)
     state = parsing.parse_file(writer, trace,
                                self.mk_fname('proc_diskstats.log'))
     self.assertEqual(141, len(state.disk_stats))
コード例 #14
0
 def testParseHeader(self):
     trace = parsing.Trace(writer, args, options)
     state = parsing.parse_file(writer, trace, self.mk_fname('header'))
     self.assertEqual(6, len(state.headers))
     self.assertEqual(2, parsing.get_num_cpus(state.headers))