Example #1
0
 def emit(self, record):
     self.get_records().append({
         'message': record.getMessage(),
         'time': datetime.datetime.fromtimestamp(record.created),
         'level': record.levelname,
         'file': format_fname(record.pathname),
         'file_long': record.pathname,
         'line': record.lineno,
     })
Example #2
0
 def emit(self, record):
     self.get_records().append(
         {
             "message": record.getMessage(),
             "time": datetime.datetime.fromtimestamp(record.created),
             "level": record.levelname,
             "file": format_fname(record.pathname),
             "file_long": record.pathname,
             "line": record.lineno,
         }
     )
Example #3
0
 def emit(self, record):
     self.get_records().append(
         {
             'message': record.getMessage(),
             'time': datetime.datetime.fromtimestamp(record.created),
             'level': record.levelname,
             'file': format_fname(record.pathname),
             'file_long': record.pathname,
             'line': record.lineno,
         }
     )
Example #4
0
    def process_response(self, response):
        records = []
        for record in self.get_and_delete():
            records.append({
                'message': record.getMessage(),
                'time': datetime.datetime.fromtimestamp(record.created),
                'level': record.levelname,
                'file': format_fname(record.pathname),
                'file_long': record.pathname,
                'line': record.lineno,
            })

        self.data = {'records': records}
Example #5
0
        def profile_handler(request):
            with lock:
                try:
                    result = self.profiler.runcall(handler, request)
                except:
                    raise
                finally:
                    stats = pstats.Stats(self.profiler)
                    function_calls = []
                    flist = stats.sort_stats('cumulative').fcn_list
                    for func in flist:
                        current = {}
                        info = stats.stats[func]

                        # Number of calls
                        if info[0] != info[1]:
                            current['ncalls'] = '%d/%d' % (info[1], info[0])
                        else:
                            current['ncalls'] = info[1]

                        # Total time
                        current['tottime'] = info[2] * 1000

                        # Quotient of total time divided by number of calls
                        if info[1]:
                            current['percall'] = info[2] * 1000 / info[1]
                        else:
                            current['percall'] = 0

                        # Cumulative time
                        current['cumtime'] = info[3] * 1000

                        # Quotient of the cumulative time divded by the number
                        # of primitive calls.
                        if info[0]:
                            current['percall_cum'] = info[3] * 1000 / info[0]
                        else:
                            current['percall_cum'] = 0

                        # Filename
                        filename = pstats.func_std_string(func)
                        current['filename_long'] = filename
                        current['filename'] = format_fname(filename)
                        function_calls.append(current)

                    self.stats = stats
                    self.function_calls = function_calls

                return result
Example #6
0
        def profile_handler(request):
            with lock:
                try:
                    result = self.profiler.runcall(handler, request)
                except:
                    raise
                finally:
                    stats = pstats.Stats(self.profiler)
                    function_calls = []
                    flist = stats.sort_stats('cumulative').fcn_list
                    for func in flist:
                        current = {}
                        info = stats.stats[func]

                        # Number of calls
                        if info[0] != info[1]:
                            current['ncalls'] = '%d/%d' % (info[1], info[0])
                        else:
                            current['ncalls'] = info[1]

                        # Total time
                        current['tottime'] = info[2] * 1000

                        # Quotient of total time divided by number of calls
                        if info[1]:
                            current['percall'] = info[2] * 1000 / info[1]
                        else:
                            current['percall'] = 0

                        # Cumulative time
                        current['cumtime'] = info[3] * 1000

                        # Quotient of the cumulative time divded by the number
                        # of primitive calls.
                        if info[0]:
                            current['percall_cum'] = info[3] * 1000 / info[0]
                        else:
                            current['percall_cum'] = 0

                        # Filename
                        filename = pstats.func_std_string(func)
                        current['filename_long'] = filename
                        current['filename'] = format_fname(filename)
                        function_calls.append(current)

                    self.stats = stats
                    self.function_calls = function_calls

                return result
Example #7
0
    def content(self):
        records = []
        for record in self.get_and_delete():
            records.append({
                'message': record.getMessage(),
                'time': datetime.datetime.fromtimestamp(record.created),
                'level': record.levelname,
                'file': format_fname(record.pathname),
                'file_long': record.pathname,
                'line': record.lineno,
            })

        vars = {'records': records}

        return self.render(
            'pyramid_debugtoolbar.panels:templates/logger.jinja2',
            vars,
            request=self.request)
 def _callFUT(self, value, sys_path=None):
     from pyramid_debugtoolbar.utils import format_fname
     return format_fname(value, sys_path)
 def _callFUT(self, value, sys_path=None):
     from pyramid_debugtoolbar.utils import format_fname
     return format_fname(value, sys_path)