zoukankan      html  css  js  c++  java
  • 可读的jvm gc日志时间

    1. jdk 6u4之后可用-XX:+PrintGCDateStamps参数

    2.python转换脚本

    #!/usr/bin/env python
     
    import sys, os, datetime
     
    # true if string is a positive float
    def validSeconds(str_sec):
        try:
            return 0 < float(str_sec)
        except ValueError:
            return False
     
    # show usage                
    if len(sys.argv) < 2:
        print "Usage: %s <gc.log>" % (sys.argv[0])
        sys.exit(1)
     
    file_str = sys.argv[1]
    lastmod_date = datetime.datetime.fromtimestamp(os.path.getmtime(file_str))
     
    file = open(file_str, 'r')
    lines = file.readlines()
    file.close()
     
    # get last elapsed time
    for line in reversed(lines):
        parts = line.split(':')
        if validSeconds(parts[0]):
            break
     
    # calculate start time
    start_date = lastmod_date - datetime.timedelta(seconds=float(parts[0]))
     
    # print file prepending human readable time where appropiate  
    for line in lines:
        parts = line.split(':')
        if not validSeconds(parts[0]):
            print line.rstrip()
            continue
        line_date = start_date + datetime.timedelta(seconds=float(parts[0]))
        print "%s: %s" % (line_date.isoformat(), line.rstrip())
    

      

  • 相关阅读:
    电商框架
    激光推送
    requirejs的用法(二)
    requirejs(一)
    AngularJs表单验证
    angularjs学习资料
    AngularJS内置指令
    angularjs 指令详解
    ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework
    EF框架step by step(9)—Code First Fluent API
  • 原文地址:https://www.cnblogs.com/aiguang/p/3564177.html
Copyright © 2011-2022 走看看