@@ -558,15 +558,15 @@ def get_phase_stats_object(phase_stats, case=None, comparison_details=None, comp
558558 detail_data = phase_stats_object ['data' ][phase ][metric_name ]['data' ][detail_name ]['data' ]
559559 if key not in detail_data :
560560 detail_data [key ] = {
561- 'mean' : None , # this is the mean over all repetitions of the detail_name for the key
561+ 'mean' : value , # this is the mean over all repetitions of the detail_name for the key
562562 'max' : max_value ,
563563 'min' : min_value ,
564- 'max_mean' : None ,
565- 'min_mean' : None ,
564+ 'max_mean' : max_value ,
565+ 'min_mean' : min_value ,
566566 'stddev' : None ,
567- 'sr_avg_avg' : None ,
568- 'sr_max_max' : None ,
569- 'sr_95p_max' : None ,
567+ 'sr_avg_avg' : sampling_rate_avg ,
568+ 'sr_max_max' : sampling_rate_max ,
569+ 'sr_95p_max' : sampling_rate_95p ,
570570 'sr_avg_values' : [sampling_rate_avg ], # temporary, we will delete this later
571571 'sr_max_values' : [sampling_rate_max ], # temporary, we will delete this later
572572 'sr_95p_values' : [sampling_rate_95p ], # temporary, we will delete this later
@@ -590,8 +590,8 @@ def get_phase_stats_object(phase_stats, case=None, comparison_details=None, comp
590590
591591 # since we do not save the min/max values we need to to the comparison here in every loop again
592592 # all other statistics are derived later in add_phase_stats_statistics()
593- detail_data [key ]['max' ] = max ((x for x in [max_value , detail_data [key ]['max' ]] if x is not None ), default = None )
594- detail_data [key ]['min' ] = min ((x for x in [min_value , detail_data [key ]['min' ]] if x is not None ), default = None )
593+ detail_data [key ]['max' ] = max ((x for x in [max_value , detail_data [key ]['max' ]] if x is not None ), default = max_value )
594+ detail_data [key ]['min' ] = min ((x for x in [min_value , detail_data [key ]['min' ]] if x is not None ), default = min_value )
595595
596596 return phase_stats_object
597597
@@ -621,20 +621,12 @@ def add_phase_stats_statistics(phase_stats_object):
621621 sr_max_values_none_filtered = [item for item in key_obj ['sr_max_values' ] if item is not None ]
622622 sr_95p_values_none_filtered = [item for item in key_obj ['sr_95p_values' ] if item is not None ]
623623
624- key_obj ['mean' ] = values_none_filtered [0 ] # default. might be overridden
625- key_obj ['max_mean' ] = values_none_filtered [0 ] # default. might be overridden
626- key_obj ['min_mean' ] = values_none_filtered [0 ] # default. might be overridden
627- key_obj ['sr_avg_avg' ] = sr_avg_values_none_filtered [0 ] # default. might be overridden
628- key_obj ['sr_max_max' ] = sr_max_values_none_filtered [0 ] # default. might be overridden
629- key_obj ['sr_95p_max' ] = sr_95p_values_none_filtered [0 ] # default. might be overridden
630-
631624 if len (values_none_filtered ) > 1 :
632625
633626 t_stat = get_t_stat (len (values_none_filtered ))
634627
635628 # JSON does not recognize the numpy data types. Sometimes int64 is returned
636629 key_obj ['mean' ] = np .mean (values_none_filtered ).item ()
637- key_obj ['sr_avg_avg' ] = np .mean (sr_avg_values_none_filtered ).item ()
638630
639631 key_obj ['stddev' ] = np .std (values_none_filtered , correction = 1 ).item ()
640632 # We are using now the STDDEV of the sample for two reasons:
@@ -644,11 +636,15 @@ def add_phase_stats_statistics(phase_stats_object):
644636 # Still one could argue that one does not want to characterize the measured software but rather the measurement setup
645637 # it is safer to use the sample STDDEV as it is always higher
646638
647- key_obj ['max_mean' ] = np .max (values_none_filtered ).item () # overwrite with max of list
648- key_obj ['sr_max_max' ] = np .max (sr_max_values_none_filtered ).item () # overwrite with max of list
649- key_obj ['sr_95p_max' ] = np .max (sr_95p_values_none_filtered ).item () # overwrite with max of list
639+ key_obj ['max_mean' ] = np .max (values_none_filtered ).item ()
640+ key_obj ['min_mean' ] = np .min (values_none_filtered ).item ()
650641
651- key_obj ['min_mean' ] = np .min (values_none_filtered ).item () # overwrite with min of list
642+ if sr_avg_values_none_filtered :
643+ key_obj ['sr_avg_avg' ] = np .mean (sr_avg_values_none_filtered ).item ()
644+ if sr_max_values_none_filtered :
645+ key_obj ['sr_max_max' ] = np .max (sr_max_values_none_filtered ).item ()
646+ if sr_95p_values_none_filtered :
647+ key_obj ['sr_95p_max' ] = np .max (sr_95p_values_none_filtered ).item ()
652648
653649 key_obj ['ci' ] = (key_obj ['stddev' ]* t_stat ).item ()
654650
0 commit comments