Skip to content

Instantly share code, notes, and snippets.

@liupc
Forked from apangin/PerfCounters.txt
Created January 8, 2019 02:44
Show Gist options
  • Save liupc/c37c421bc731e472b45ff2008dac44fc to your computer and use it in GitHub Desktop.
Save liupc/c37c421bc731e472b45ff2008dac44fc to your computer and use it in GitHub Desktop.
java.ci.totalTime = 8135593
java.cls.loadedClasses = 3053
java.cls.sharedLoadedClasses = 0
java.cls.sharedUnloadedClasses = 0
java.cls.unloadedClasses = 0
java.property.java.class.path = C:/Program Files (x86)/IDEA 2017.1/lib/jps-launcher.jar;C:/Program Files/Java/jdk1.8.0_102/lib/tools.jar;C:/Program Files (x86)/IDEA 2017.1/lib/optimizedFileManager.jar
java.property.java.endorsed.dirs = ""
java.property.java.ext.dirs = C:\Program Files\Java\jdk1.8.0_102\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
java.property.java.home = C:\Program Files\Java\jdk1.8.0_102\jre
java.property.java.library.path = C:\Program Files\Java\jdk1.8.0_102\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS
java.property.java.version = 1.8.0_102
java.property.java.vm.info = mixed mode
java.property.java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.property.java.vm.specification.name = Java Virtual Machine Specification
java.property.java.vm.specification.vendor = Oracle Corporation
java.property.java.vm.specification.version = 1.8
java.property.java.vm.vendor = Oracle Corporation
java.property.java.vm.version = 25.102-b14
java.rt.vmArgs = -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs="" -Djava.net.preferIPv4Stack=true
java.rt.vmFlags =
java.threads.daemon = 5
java.threads.live = 7
java.threads.livePeak = 11
java.threads.started = 12
sun.ci.compilerThread.0.compiles = 137
sun.ci.compilerThread.0.method =
sun.ci.compilerThread.0.time = 84
sun.ci.compilerThread.0.type = 1
sun.ci.compilerThread.1.compiles = 83
sun.ci.compilerThread.1.method =
sun.ci.compilerThread.1.time = 141
sun.ci.compilerThread.1.type = 1
sun.ci.compilerThread.2.compiles = 1197
sun.ci.compilerThread.2.method =
sun.ci.compilerThread.2.time = 483
sun.ci.compilerThread.2.type = 1
sun.ci.lastFailedMethod = sun/misc/URLClassPath$JarLoader getResource
sun.ci.lastFailedType = 1
sun.ci.lastInvalidatedMethod =
sun.ci.lastInvalidatedType = 0
sun.ci.lastMethod = io/netty/channel/nio/NioEventLoop select
sun.ci.lastSize = 803
sun.ci.lastType = 1
sun.ci.nmethodCodeSize = 2203488
sun.ci.nmethodSize = 3634736
sun.ci.osrBytes = 2648
sun.ci.osrCompiles = 5
sun.ci.osrTime = 212524
sun.ci.standardBytes = 193843
sun.ci.standardCompiles = 1410
sun.ci.standardTime = 7923069
sun.ci.threads = 3
sun.ci.totalBailouts = 2
sun.ci.totalCompiles = 1415
sun.ci.totalInvalidates = 0
sun.classloader.findClassTime = 1561767971
sun.classloader.findClasses = 1742
sun.classloader.parentDelegationTime = 310208916
sun.cls.appClassBytes = 7153134
sun.cls.appClassLoadCount = 2096
sun.cls.appClassLoadTime = 3983933
sun.cls.appClassLoadTime.self = 2026183
sun.cls.classInitTime = 4704107
sun.cls.classInitTime.self = 2235415
sun.cls.classLinkedTime = 2633438
sun.cls.classLinkedTime.self = 410722
sun.cls.classVerifyTime = 2223139
sun.cls.classVerifyTime.self = 789936
sun.cls.defineAppClassTime = 1380705
sun.cls.defineAppClassTime.self = 91952
sun.cls.defineAppClasses = 1755
sun.cls.initializedClasses = 2216
sun.cls.isUnsyncloadClassSet = 0
sun.cls.jniDefineClassNoLockCalls = 7
sun.cls.jvmDefineClassNoLockCalls = 1752
sun.cls.jvmFindLoadedClassNoLockCalls = 6386
sun.cls.linkedClasses = 2602
sun.cls.loadInstanceClassFailRate = 0
sun.cls.loadedBytes = 5850872
sun.cls.lookupSysClassTime = 289125
sun.cls.methodBytes = 3064672
sun.cls.nonSystemLoaderLockContentionRate = 0
sun.cls.parseClassTime = 1726329
sun.cls.parseClassTime.self = 1352678
sun.cls.sharedClassLoadTime = 969
sun.cls.sharedLoadedBytes = 0
sun.cls.sharedUnloadedBytes = 0
sun.cls.sysClassBytes = 4070355
sun.cls.sysClassLoadTime = 869322
sun.cls.systemLoaderLockContentionRate = 0
sun.cls.time = 7960542
sun.cls.unloadedBytes = 0
sun.cls.unsafeDefineClassCalls = 85
sun.cls.verifiedClasses = 2582
sun.gc.cause = No GC
sun.gc.collector.0.invocations = 2
sun.gc.collector.0.lastEntryTime = 9444314
sun.gc.collector.0.lastExitTime = 9460538
sun.gc.collector.0.name = PSScavenge
sun.gc.collector.0.time = 40671
sun.gc.collector.1.invocations = 0
sun.gc.collector.1.lastEntryTime = 0
sun.gc.collector.1.lastExitTime = 0
sun.gc.collector.1.name = PSParallelCompact
sun.gc.collector.1.time = 0
sun.gc.compressedclassspace.capacity = 1966080
sun.gc.compressedclassspace.maxCapacity = 1073741824
sun.gc.compressedclassspace.minCapacity = 0
sun.gc.compressedclassspace.used = 1835944
sun.gc.generation.0.capacity = 42991616
sun.gc.generation.0.maxCapacity = 244318208
sun.gc.generation.0.minCapacity = 42991616
sun.gc.generation.0.name = new
sun.gc.generation.0.space.0.capacity = 32505856
sun.gc.generation.0.space.0.initCapacity = 0
sun.gc.generation.0.space.0.maxCapacity = 243269632
sun.gc.generation.0.space.0.name = eden
sun.gc.generation.0.space.0.used = 24416464
sun.gc.generation.0.space.1.capacity = 5242880
sun.gc.generation.0.space.1.initCapacity = 0
sun.gc.generation.0.space.1.maxCapacity = 81264640
sun.gc.generation.0.space.1.name = s0
sun.gc.generation.0.space.1.used = 5210176
sun.gc.generation.0.space.2.capacity = 5242880
sun.gc.generation.0.space.2.initCapacity = 0
sun.gc.generation.0.space.2.maxCapacity = 81264640
sun.gc.generation.0.space.2.name = s1
sun.gc.generation.0.space.2.used = 0
sun.gc.generation.0.spaces = 3
sun.gc.generation.1.capacity = 87031808
sun.gc.generation.1.maxCapacity = 489684992
sun.gc.generation.1.minCapacity = 87031808
sun.gc.generation.1.name = old
sun.gc.generation.1.space.0.capacity = 87031808
sun.gc.generation.1.space.0.initCapacity = 87031808
sun.gc.generation.1.space.0.maxCapacity = 489684992
sun.gc.generation.1.space.0.name = old
sun.gc.generation.1.space.0.used = 17117040
sun.gc.generation.1.spaces = 1
sun.gc.lastCause = Allocation Failure
sun.gc.metaspace.capacity = 15335424
sun.gc.metaspace.maxCapacity = 1088421888
sun.gc.metaspace.minCapacity = 0
sun.gc.metaspace.used = 14966512
sun.gc.policy.avgBaseFootprint = 268435456
sun.gc.policy.avgMajorIntervalTime = 0
sun.gc.policy.avgMajorPauseTime = 0
sun.gc.policy.avgMinorIntervalTime = 2016
sun.gc.policy.avgMinorPauseTime = 8
sun.gc.policy.avgOldLive = 0
sun.gc.policy.avgPretenuredPaddedAvg = 0
sun.gc.policy.avgPromotedAvg = 169904
sun.gc.policy.avgPromotedDev = 43984
sun.gc.policy.avgPromotedPaddedAvg = 301856
sun.gc.policy.avgSurvivedAvg = 5111588
sun.gc.policy.avgSurvivedDev = 178230
sun.gc.policy.avgSurvivedPaddedAvg = 5646278
sun.gc.policy.avgYoungLive = 4982652
sun.gc.policy.boundaryMoved = 0
sun.gc.policy.changeOldGenForMajPauses = 0
sun.gc.policy.changeOldGenForMinPauses = 0
sun.gc.policy.changeYoungGenForMajPauses = 0
sun.gc.policy.changeYoungGenForMinPauses = 0
sun.gc.policy.collectors = 2
sun.gc.policy.decideAtFullGc = 0
sun.gc.policy.decreaseForFootprint = 0
sun.gc.policy.decrementTenuringThresholdForGcCost = 0
sun.gc.policy.decrementTenuringThresholdForSurvivorLimit = 0
sun.gc.policy.desiredSurvivorSize = 5242880
sun.gc.policy.edenSize = 32505856
sun.gc.policy.freeSpace = 65011712
sun.gc.policy.fullFollowsScavenge = 0
sun.gc.policy.gcTimeLimitExceeded = 0
sun.gc.policy.generations = 3
sun.gc.policy.increaseOldGenForThroughput = 0
sun.gc.policy.increaseYoungGenForThroughput = 0
sun.gc.policy.incrementTenuringThresholdForGcCost = 0
sun.gc.policy.liveAtLastFullGc = 32505856
sun.gc.policy.liveSpace = 273418112
sun.gc.policy.majorCollectionSlope = 0
sun.gc.policy.majorGcCost = 0
sun.gc.policy.majorPauseOldSlope = 0
sun.gc.policy.majorPauseYoungSlope = 0
sun.gc.policy.maxTenuringThreshold = 15
sun.gc.policy.minorCollectionSlope = 0
sun.gc.policy.minorGcCost = 0
sun.gc.policy.minorPauseOldSlope = 0
sun.gc.policy.minorPauseTime = 6
sun.gc.policy.minorPauseYoungSlope = 0
sun.gc.policy.mutatorCost = 99
sun.gc.policy.name = ParScav:MSC
sun.gc.policy.oldCapacity = 87031808
sun.gc.policy.oldEdenSize = 32505856
sun.gc.policy.oldPromoSize = 32505856
sun.gc.policy.promoSize = 32505856
sun.gc.policy.promoted = 257872
sun.gc.policy.scavengeSkipped = 0
sun.gc.policy.survived = 5210176
sun.gc.policy.survivorOverflowed = 1
sun.gc.policy.tenuringThreshold = 7
sun.gc.policy.youngCapacity = 37748736
sun.gc.tlab.alloc = 4173747
sun.gc.tlab.allocThreads = 6
sun.gc.tlab.fastWaste = 1428
sun.gc.tlab.fills = 79
sun.gc.tlab.gcWaste = 84930
sun.gc.tlab.maxFastWaste = 1408
sun.gc.tlab.maxFills = 27
sun.gc.tlab.maxGcWaste = 38939
sun.gc.tlab.maxSlowAlloc = 4
sun.gc.tlab.maxSlowWaste = 948
sun.gc.tlab.slowAlloc = 5
sun.gc.tlab.slowWaste = 1460
sun.os.hrt.frequency = 2338437
sun.os.hrt.ticks = 187327328386
sun.perfdata.majorVersion = 2
sun.perfdata.minorVersion = 0
sun.perfdata.overflow = 0
sun.perfdata.size = 65536
sun.perfdata.timestamp = 445600
sun.perfdata.used = 20040
sun.property.sun.boot.class.path = C:\Program Files\Java\jdk1.8.0_102\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_102\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_102\jre\classes
sun.property.sun.boot.library.path = C:\Program Files\Java\jdk1.8.0_102\jre\bin
sun.rt._sync_ContendedLockAttempts = 123
sun.rt._sync_Deflations = 42
sun.rt._sync_EmptyNotifications = 0
sun.rt._sync_FailedSpins = 0
sun.rt._sync_FutileWakeups = 2
sun.rt._sync_Inflations = 44
sun.rt._sync_MonExtant = 256
sun.rt._sync_MonInCirculation = 0
sun.rt._sync_MonScavenged = 0
sun.rt._sync_Notifications = 21
sun.rt._sync_Parks = 53
sun.rt._sync_PrivateA = 0
sun.rt._sync_PrivateB = 0
sun.rt._sync_SlowEnter = 0
sun.rt._sync_SlowExit = 0
sun.rt._sync_SlowNotify = 0
sun.rt._sync_SlowNotifyAll = 0
sun.rt._sync_SuccessfulSpins = 0
sun.rt.applicationTime = 12597920143
sun.rt.createVmBeginTime = 1486817667168
sun.rt.createVmEndTime = 1486817667346
sun.rt.internalVersion = Java HotSpot(TM) 64-Bit Server VM (25.102-b14) for windows-amd64 JRE (1.8.0_102-b14), built on Jun 22 2016 13:15:21 by "java_re" with MS VC++ 10.0 (VS2010)
sun.rt.interruptedBeforeIO = 0
sun.rt.interruptedDuringIO = 0
sun.rt.javaCommand = org.jetbrains.jps.cmdline.Launcher
sun.rt.jvmCapabilities = 1100000000000000000000000000000000000000000000000000000000000000
sun.rt.jvmVersion = 426115086
sun.rt.safepointSyncTime = 10145
sun.rt.safepointTime = 59359
sun.rt.safepoints = 31
sun.rt.threadInterruptSignaled = 0
sun.rt.vmInitDoneTime = 1486817667230
sun.threads.vmOperationTime = 43465
sun.urlClassLoader.readClassBytesTime = 235520122
sun.zip.zipFile.openTime = 44745703
sun.zip.zipFiles = 111
import sun.jvmstat.monitor.Monitor;
import sun.jvmstat.monitor.MonitoredHost;
import sun.jvmstat.monitor.MonitoredVm;
import sun.jvmstat.monitor.VmIdentifier;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class PerfCounterProfiler {
public static void main(String[] args) throws Exception {
MonitoredHost host = MonitoredHost.getMonitoredHost((String) null);
MonitoredVm vm = host.getMonitoredVm(new VmIdentifier("<PID>"));
List<Monitor> monitors = vm.findByPattern(".*");
Map<Monitor, Object> values = monitors.stream()
.collect(Collectors.toMap(Function.identity(), Monitor::getValue));
while (true) {
Thread.sleep(1000);
System.out.println(" --- ");
monitors.forEach(m -> {
Object newValue = m.getValue();
Object oldValue = values.put(m, newValue);
if (!oldValue.equals(newValue)) {
System.out.println(m.getName() + " : " + newValue);
}
});
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment