示例#1
0
 def _log_stats(self, request, options, error=None):
     options = {
         key: self._value_for_logging(key, value)
         for key, value in options.items()
     }
     msg = {
         # Anything we retrieve from Twisted request object contains bytes.
         # We have to convert it to unicode first for json.dump to succeed.
         "path": request.path.decode('utf-8'),
         "rendertime": time.time() - request.starttime,
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "load": os.getloadavg(),
         "fds": get_num_fds(),
         "active": len(self.pool.active),
         "qsize": len(self.pool.queue.pending),
         "_id": id(request),
         "method": request.method.decode('ascii'),
         "timestamp": int(time.time()),
         "user-agent": (request.getHeader(b"user-agent").decode('utf-8')
                        if request.getHeader(b"user-agent") else None),
         "args": options,
         "status_code": request.code,
         "client_ip": request.client.host
     }
     if error:
         msg["error"] = error
     msg = json.dumps(msg).encode("utf8")
     log.msg(msg, system="events")
示例#2
0
    def _log_stats(self, request, options):

        # def args_to_unicode(args):
        #     unicode_args = {}
        #     for key, val in args.items():
        #         key = to_unicode(key)
        #         if isinstance(val, list):
        #             val = [args_to_unicode(item)item.decode('utf-8') for item in val]
        #         else:
        #             val = val.decode('utf-8')
        #         unicode_args[key] = val
        #         return unicode_args

        msg = {
            # Anything we retrieve from Twisted request object contains bytes.
            # We have to convert it to unicode first for json.dump to succeed.
            "path": request.path.decode('utf-8'),
            "rendertime": time.time() - request.starttime,
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "load": os.getloadavg(),
            "fds": get_num_fds(),
            "active": len(self.pool.active),
            "qsize": len(self.pool.queue.pending),
            "_id": id(request),
            "method": request.method.decode('ascii'),
            "timestamp": int(time.time()),
            "user-agent": (request.getHeader(b"user-agent").decode('utf-8')
                           if request.getHeader(b"user-agent") else None),
            "args": repr(options)
        }
        log.msg(json.dumps(msg), system="events")
示例#3
0
    def _log_stats(self, request, options):

        # def args_to_unicode(args):
        #     unicode_args = {}
        #     for key, val in args.items():
        #         key = to_unicode(key)
        #         if isinstance(val, list):
        #             val = [args_to_unicode(item)item.decode('utf-8') for item in val]
        #         else:
        #             val = val.decode('utf-8')
        #         unicode_args[key] = val
        #         return unicode_args

        msg = {
            # Anything we retrieve from Twisted request object contains bytes.
            # We have to convert it to unicode first for json.dump to succeed.
            "path": request.path.decode('utf-8'),
            "rendertime": time.time() - request.starttime,
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "load": os.getloadavg(),
            "fds": get_num_fds(),
            "active": len(self.pool.active),
            "qsize": len(self.pool.queue.pending),
            "_id": id(request),
            "method": request.method.decode('ascii'),
            "timestamp": int(time.time()),
            "user-agent": (request.getHeader(b"user-agent").decode('utf-8')
                           if request.getHeader(b"user-agent") else None),
            "args": repr(options)
        }
        log.msg(json.dumps(msg), system="events")
示例#4
0
 def render_GET(self, request):
     return json.dumps({
         "leaks": get_leaks(),
         "active": [x.url for x in self.pool.active],
         "qsize": len(self.pool.queue.pending),
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "fds": get_num_fds(),
     })
示例#5
0
 def render_GET(self, request):
     request.setHeader("content-type", "application/json")
     return json.dumps({
         "leaks": get_leaks(),
         "active": [x.url for x in self.pool.active],
         "qsize": len(self.pool.queue.pending),
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "fds": get_num_fds(),
     })
示例#6
0
 def render_GET(self, request):
     request.setHeader("content-type", "application/json")
     return json.dumps({
         "leaks": get_leaks(),
         "active": [self.get_repr(r) for r in self.pool.active],
         "qsize": len(self.pool.queue.pending),
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "fds": get_num_fds(),
     })
示例#7
0
 def _logStats(self, request):
     stats = {
         "path": request.path,
         "args": request.args,
         "rendertime": time.time() - request.starttime,
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "load": os.getloadavg(),
         "fds": get_num_fds(),
         "active": len(self.pool.active),
         "qsize": len(self.pool.queue.pending),
         "_id": id(request),
     }
     log.msg(json.dumps(stats), system="stats")
示例#8
0
 def _logStats(self, request):
     stats = {
         "path": request.path,
         "args": request.args,
         "rendertime": time.time() - request.starttime,
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "load": os.getloadavg(),
         "fds": get_num_fds(),
         "active": len(self.pool.active),
         "qsize": len(self.pool.queue.pending),
         "_id": id(request),
     }
     log.msg(json.dumps(stats), system="stats")
示例#9
0
    def render_GET(self, request):
        request.setHeader("content-type", "application/json")
        info = {
            "leaks": get_leaks(),
            "active": [self.get_repr(r) for r in self.pool.active],
            "qsize": len(self.pool.queue.pending),
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "fds": get_num_fds(),
        }
        if self.warn:
            info["WARNING"] = "/debug endpoint is deprecated. " "Please use /_debug instead."
            # info['leaks'] = get_leaks()

        return json.dumps(info)
示例#10
0
 def _writeOutput(self, html, request):
     stats = {
         "path": request.path,
         "args": request.args,
         "rendertime": time.time() - request.starttime,
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "load": os.getloadavg(),
         "fds": get_num_fds(),
         "active": len(self.pool.active),
         "qsize": len(self.pool.queue.pending),
     }
     log.msg(json.dumps(stats), system="stats")
     request.setHeader("content-type", self.content_type)
     request.write(html)
示例#11
0
    def render_GET(self, request):
        request.setHeader(b"content-type", b"application/json")
        info = {
            "leaks": get_leaks(),
            "active": [self.get_repr(r) for r in self.pool.active],
            "qsize": len(self.pool.queue.pending),
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "fds": get_num_fds(),
            "argcache": len(self.argument_cache)
        }
        if self.warn:
            info['WARNING'] = "/debug endpoint is deprecated. " \
                              "Please use /_debug instead."

        return (json.dumps(info, sort_keys=True)).encode('utf-8')
示例#12
0
    def render_GET(self, request):
        request.setHeader(b"content-type", b"application/json")
        info = {
            "leaks": get_leaks(),
            "active": [self.get_repr(r) for r in self.pool.active],
            "qsize": len(self.pool.queue.pending),
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "fds": get_num_fds(),
            "argcache": len(self.argument_cache)
        }
        if self.warn:
            info['WARNING'] = "/debug endpoint is deprecated. " \
                              "Please use /_debug instead."

        return (json.dumps(info, sort_keys=True)).encode('utf-8')
示例#13
0
    def render_GET(self, request):
        request.setHeader("content-type", "application/json")
        info = {
            "leaks": get_leaks(),
            "active": [self.get_repr(r) for r in self.pool.active],
            "qsize": len(self.pool.queue.pending),
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "fds": get_num_fds(),
        }
        if self.warn:
            info['WARNING'] = "/debug endpoint is deprecated. " \
                              "Please use /_debug instead."
            # info['leaks'] = get_leaks()

        return json.dumps(info)
示例#14
0
 def _writeOutput(self, html, request):
     #log.msg("_writeOutput: %s" % id(request))
     stats = {
         "path": request.path,
         "args": request.args,
         "rendertime": time.time() - request.starttime,
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "load": os.getloadavg(),
         "fds": get_num_fds(),
         "active": len(self.pool.active),
         "qsize": len(self.pool.queue.pending),
         "_id": id(request),
     }
     log.msg(json.dumps(stats), system="stats")
     request.setHeader("content-type", self.content_type)
     request.write(html)
示例#15
0
    def _log_stats(self, request, options):

        msg = {
            "path": request.path,
            "rendertime": time.time() - request.starttime,
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "load": os.getloadavg(),
            "fds": get_num_fds(),
            "active": len(self.pool.active),
            "qsize": len(self.pool.queue.pending),
            "_id": id(request),
            "method": request.method,
            "timestamp": int(time.time()),
            "user-agent": request.getHeader("user-agent"),
            "args": options
        }
        log.msg(json.dumps(msg), system="events")
示例#16
0
文件: resources.py 项目: kmike/splash
    def _logStats(self, request, options):

        msg = {
            "path": request.path,
            "rendertime": time.time() - request.starttime,
            "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
            "load": os.getloadavg(),
            "fds": get_num_fds(),
            "active": len(self.pool.active),
            "qsize": len(self.pool.queue.pending),
            "_id": id(request),
            "method": request.method,
            "timestamp": int(time.time()),
            "user-agent": request.getHeader("user-agent"),
            "args": options
        }
        log.msg(json.dumps(msg), system="events")
示例#17
0
 def _log_stats(self, request, options, error=None):
     msg = {
         # Anything we retrieve from Twisted request object contains bytes.
         # We have to convert it to unicode first for json.dump to succeed.
         "path": request.path.decode('utf-8'),
         "rendertime": time.time() - request.starttime,
         "maxrss": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss,
         "load": os.getloadavg(),
         "fds": get_num_fds(),
         "active": len(self.pool.active),
         "qsize": len(self.pool.queue.pending),
         "_id": id(request),
         "method": request.method.decode('ascii'),
         "timestamp": int(time.time()),
         "user-agent": (request.getHeader(b"user-agent").decode('utf-8')
                        if request.getHeader(b"user-agent") else None),
         "args": options,
         "status_code": request.code,
         "client_ip": request.client.host
     }
     if error:
         msg["error"] = error
     msg = json.dumps(msg).encode("utf8")
     log.msg(msg, system="events")