def create_error_chart(): plLogger = PLLogger.GetLogger('Methodology') plLogger.LogDebug('AclBasicChartScript.create_error_chart()') # We want to use the summary (the latter summary with ACL enabled)... db_list = [pu.get_active_result_db_filename()] queries = [('Out Of Seq', 'SELECT SUM (OutSeqFrameCount) FROM RxEotStreamResults'), ('Sequence Errors', 'SELECT SUM (DroppedFrameCount + ReorderedFrameCount + ' 'FcsErrorFrameCount + PrbsBitErrorCount + DuplicateFrameCount + ' 'LateFrameCount) FROM RxEotStreamResults'), ('CRC Errors', 'SELECT SUM(GeneratorCrcErrorFrameCount) FROM GeneratorPortResults'), ('Checksum Errors', 'SELECT SUM(GeneratorL3ChecksumErrorCount + ' 'GeneratorL4ChecksumErrorCount) FROM GeneratorPortResults'), ('Data Error', 'SELECT SUM(PrbsBitErrorCount) FROM AnalyzerPortResults') ] total_error_count = 0 errors = [] captions = [] for caption, query in queries: error_count = get_data_from_query(db_list, query)[0] errors.append(error_count) captions.append(caption) total_error_count += error_count if total_error_count == 0: errors.append(1) captions.append('No Errors') template_error_pie['series'][0]['data'] = zip(captions, errors) template_error_pie['xAxis']['categories'] = captions result_data = init_chart_data_dict("SUMMARY", template_error_pie) pdg.submit_provider_data(result_data) return ""
def get_active_results_db(): # In its own function to allow for easier unit testing using MagicMock return pu.get_active_result_db_filename()
def get_dbs(UseMultipleResultsDatabases, UseSummary): if UseSummary and not UseMultipleResultsDatabases: return [pu.get_active_result_db_filename()] return pu.get_db_files(pu.get_active_result_db_filename(), UseMultipleResultsDatabases)