[Notes] [Git][BuildStream/buildstream][jennis/profiling_outputs_binaries] _profile.py: Write binaries as well as logs



Title: GitLab

James Ennis pushed to branch jennis/profiling_outputs_binaries at BuildStream / buildstream

Commits:

1 changed file:

Changes:

  • buildstream/_profile.py
    ... ... @@ -67,10 +67,19 @@ class Profile():
    67 67
     
    
    68 68
             filename = self.key.replace('/', '-')
    
    69 69
             filename = filename.replace('.', '-')
    
    70
    -        filename = os.path.join(os.getcwd(), 'profile-' + timestamp + '-' + filename + '.log')
    
    70
    +        filename = os.path.join(os.getcwd(), 'profile-' + timestamp + '-' + filename)
    
    71 71
     
    
    72
    +        time_ = dt.strftime('%Y-%m-%d %H:%M:%S')  # Human friendly format
    
    73
    +        self.__write_log(filename + '.log', time_)
    
    74
    +
    
    75
    +        self.__write_binary(filename + '.cprofile')
    
    76
    +
    
    77
    +    ########################################
    
    78
    +    #            Private Methods           #
    
    79
    +    ########################################
    
    80
    +
    
    81
    +    def __write_log(self, filename, time_):
    
    72 82
             with open(filename, "a", encoding="utf-8") as f:
    
    73
    -            time_ = dt.strftime('%Y-%m-%d %H:%M:%S')
    
    74 83
                 heading = '================================================================\n'
    
    75 84
                 heading += 'Profile for key: {}\n'.format(self.key)
    
    76 85
                 heading += 'Started at: {}\n'.format(time_)
    
    ... ... @@ -81,6 +90,9 @@ class Profile():
    81 90
                 ps = pstats.Stats(self.profiler, stream=f).sort_stats('cumulative')
    
    82 91
                 ps.print_stats()
    
    83 92
     
    
    93
    +    def __write_binary(self, filename):
    
    94
    +        self.profiler.dump_stats(filename)
    
    95
    +
    
    84 96
     
    
    85 97
     # profile_start()
    
    86 98
     #
    



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]