stats.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:tsaotun 作者: qazbnm456 项目源码 文件源码
def eval_command(self, args):
        try:
            stats = []
            containers = args["containers"]
            del args["containers"]
            args["decode"] = True
            for container in containers:
                args["container"] = container
                stats.append(self.client.stats(**args))
                """
                for line in self.client.stats(**args):
                    for iterElement in list(json_iterparse.json_iterparse(line)):
                        # self.output(iterElement, args)
                        print iterElement
                """
            clear()
            put_cursor(0, 0)
            print pprint_things(
                "CONTAINER\tCPU %\tMEM USAGE / LIMIT\tMEM %\tNET I/O\tBLOCK I/O\tPIDS"),
            while True:
                y = 1
                for stat in stats:
                    put_cursor(0, y)
                    y += 1
                    tmp = next(stat)
                    tmp["Id"] = tmp["id"][:12]
                    tmp["Cpu"] = (tmp["cpu_stats"]["cpu_usage"][
                        "total_usage"] / tmp["cpu_stats"]["system_cpu_usage"])
                    tmp["MemUsage"] = humanize.naturalsize(
                        tmp["memory_stats"]["usage"])
                    tmp["Limit"] = humanize.naturalsize(
                        tmp["memory_stats"]["limit"])
                    tmp["Mem"] = (tmp["memory_stats"]["usage"] /
                                  tmp["memory_stats"]["limit"])
                    tmp["NetInput"] = humanize.naturalsize(
                        tmp["networks"]["eth0"]["rx_bytes"])
                    tmp["NetOutput"] = humanize.naturalsize(
                        tmp["networks"]["eth0"]["tx_bytes"])
                    tmp["Pids"] = tmp["pids_stats"]["current"]
                    print pprint_things(pystache.render(self.defaultTemplate, tmp))
        except KeyboardInterrupt:
            put_cursor(0, y)
            colorama.deinit()
            raise KeyboardInterrupt
        put_cursor(0, y)
        colorama.deinit()
        self.settings[self.name] = "\r"
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号