com.sun.management.GcInfo Java Examples
The following examples show how to use
com.sun.management.GcInfo.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GarbageCollectorImpl.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
void createGCNotification(long timestamp, String gcName, String gcAction, String gcCause, GcInfo gcInfo) { if (!hasListeners()) { return; } Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION, getObjectName(), getNextSeqNumber(), timestamp, gcName); GarbageCollectionNotificationInfo info = new GarbageCollectionNotificationInfo(gcName, gcAction, gcCause, gcInfo); CompositeData cd = GarbageCollectionNotifInfoCompositeData.toCompositeData(info); notif.setUserData(cd); sendNotification(notif); }
Example #2
Source File: ValidateOpenTypes.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #3
Source File: GarbageCollectorImpl.java From dragonwell8_jdk with GNU General Public License v2.0 | 6 votes |
void createGCNotification(long timestamp, String gcName, String gcAction, String gcCause, GcInfo gcInfo) { if (!hasListeners()) { return; } Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION, getObjectName(), getNextSeqNumber(), timestamp, gcName); GarbageCollectionNotificationInfo info = new GarbageCollectionNotificationInfo(gcName, gcAction, gcCause, gcInfo); CompositeData cd = GarbageCollectionNotifInfoCompositeData.toCompositeData(info); notif.setUserData(cd); sendNotification(notif); }
Example #4
Source File: ProxyTypeMapping.java From dragonwell8_jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(GcInfo info) throws Exception { System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #5
Source File: ValidateOpenTypes.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #6
Source File: ValidateOpenTypes.java From hottub with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #7
Source File: ProxyTypeMapping.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(GcInfo info) throws Exception { System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #8
Source File: ValidateOpenTypes.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #9
Source File: GarbageCollectorImpl.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
void createGCNotification(long timestamp, String gcName, String gcAction, String gcCause, GcInfo gcInfo) { if (!hasListeners()) { return; } Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION, getObjectName(), getNextSeqNumber(), timestamp, gcName); GarbageCollectionNotificationInfo info = new GarbageCollectionNotificationInfo(gcName, gcAction, gcCause, gcInfo); CompositeData cd = GarbageCollectionNotifInfoCompositeData.toCompositeData(info); notif.setUserData(cd); sendNotification(notif); }
Example #10
Source File: ProxyTypeMapping.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(GcInfo info) throws Exception { System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #11
Source File: ValidateOpenTypes.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #12
Source File: GarbageCollectorImpl.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
void createGCNotification(long timestamp, String gcName, String gcAction, String gcCause, GcInfo gcInfo) { if (!hasListeners()) { return; } Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION, getObjectName(), getNextSeqNumber(), timestamp, gcName); GarbageCollectionNotificationInfo info = new GarbageCollectionNotificationInfo(gcName, gcAction, gcCause, gcInfo); CompositeData cd = GarbageCollectionNotifInfoCompositeData.toCompositeData(info); notif.setUserData(cd); sendNotification(notif); }
Example #13
Source File: ProxyTypeMapping.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(GcInfo info) throws Exception { System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #14
Source File: ValidateOpenTypes.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #15
Source File: PostGCMemoryUseRecorderTest.java From bazel with Apache License 2.0 | 6 votes |
private static Notification createMockNotification( String type, String action, String cause, Map<String, Long> memUsed) { ImmutableMap.Builder<String, MemoryUsage> memUsageMap = ImmutableMap.builder(); for (Map.Entry<String, Long> e : memUsed.entrySet()) { memUsageMap.put(e.getKey(), createMockMemoryUsage(e.getValue())); } GcInfo gcInfo = mock(GcInfo.class); when(gcInfo.getMemoryUsageAfterGc()).thenReturn(memUsageMap.build()); GarbageCollectionNotificationInfo notInfo = new GarbageCollectionNotificationInfo("DummyGCName", action, cause, gcInfo); Notification n = mock(Notification.class); when(n.getType()).thenReturn(type); when(n.getUserData()).thenReturn(notInfo.toCompositeData(null)); return n; }
Example #16
Source File: GarbageCollectorImpl.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
void createGCNotification(long timestamp, String gcName, String gcAction, String gcCause, GcInfo gcInfo) { if (!hasListeners()) { return; } Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION, getObjectName(), getNextSeqNumber(), timestamp, gcName); GarbageCollectionNotificationInfo info = new GarbageCollectionNotificationInfo(gcName, gcAction, gcCause, gcInfo); CompositeData cd = GarbageCollectionNotifInfoCompositeData.toCompositeData(info); notif.setUserData(cd); sendNotification(notif); }
Example #17
Source File: ValidateOpenTypes.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(CompositeData cd) throws Exception { GcInfo info = GcInfo.from(cd); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #18
Source File: GarbageCollectorExtImpl.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
protected void createGCNotification(long timestamp, String gcName, String gcAction, String gcCause, GcInfo gcInfo) { if (!hasListeners()) { return; } Notification notif = new Notification(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION, getObjectName(), getNextSeqNumber(), timestamp, gcName); GarbageCollectionNotificationInfo info = new GarbageCollectionNotificationInfo(gcName, gcAction, gcCause, gcInfo); CompositeData cd = GarbageCollectionNotifInfoCompositeData.toCompositeData(info); notif.setUserData(cd); sendNotification(notif); }
Example #19
Source File: ProxyTypeMapping.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
private static void printGcInfo(GcInfo info) throws Exception { System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String,MemoryUsage> usage = info.getMemoryUsageBeforeGc(); for (Map.Entry<String,MemoryUsage> entry : usage.entrySet()) { String poolname = entry.getKey(); MemoryUsage busage = entry.getValue(); MemoryUsage ausage = info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } }
Example #20
Source File: LastGCInfo.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
private static void checkGcInfo(String name, GcInfo info) throws Exception { System.out.println("GC statistic for : " + name); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map usage = info.getMemoryUsageBeforeGc(); List pnames = new ArrayList(); for (Iterator iter = usage.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry) iter.next(); String poolname = (String) entry.getKey(); pnames.add(poolname); MemoryUsage busage = (MemoryUsage) entry.getValue(); MemoryUsage ausage = (MemoryUsage) info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } // check if memory usage for all memory pools are returned List pools = ManagementFactory.getMemoryPoolMXBeans(); for (Iterator iter = pools.iterator(); iter.hasNext(); ) { MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next(); if (!pnames.contains(p.getName())) { throw new RuntimeException("GcInfo does not contain " + "memory usage for pool " + p.getName()); } } }
Example #21
Source File: GarbageCollectionNotificationContentTest.java From hottub with GNU General Public License v2.0 | 5 votes |
private static void checkGarbageCollectionNotificationInfoContent(GarbageCollectionNotificationInfo notif) throws Exception { System.out.println("GC notification for "+notif.getGcName()); System.out.print("Action: "+notif.getGcAction()); System.out.println(" Cause: "+notif.getGcCause()); GcInfo info = notif.getGcInfo(); System.out.print("GC Info #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map<String, MemoryUsage> usage = info.getMemoryUsageBeforeGc(); List<String> pnames = new ArrayList<String>(); for (Map.Entry entry : usage.entrySet() ) { String poolname = (String) entry.getKey(); pnames.add(poolname); MemoryUsage busage = (MemoryUsage) entry.getValue(); MemoryUsage ausage = (MemoryUsage) info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } // check if memory usage for all memory pools are returned List<MemoryPoolMXBean> pools = ManagementFactory.getMemoryPoolMXBeans(); for (MemoryPoolMXBean p : pools ) { if (!pnames.contains(p.getName())) { throw new RuntimeException("GcInfo does not contain " + "memory usage for pool " + p.getName()); } } }
Example #22
Source File: GcInfoCompositeData.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
public GcInfoCompositeData(GcInfo info, GcInfoBuilder builder, Object[] gcExtItemValues) { this.info = info; this.builder = builder; this.gcExtItemValues = gcExtItemValues; }
Example #23
Source File: GcInfoBuilder.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
GcInfo getLastGcInfo() { MemoryUsage[] usageBeforeGC = new MemoryUsage[poolNames.length]; MemoryUsage[] usageAfterGC = new MemoryUsage[poolNames.length]; Object[] values = new Object[gcExtItemCount]; return getLastGcInfo0(gc, gcExtItemCount, values, gcExtItemTypes, usageBeforeGC, usageAfterGC); }
Example #24
Source File: MonitorLiveSetSize.java From java-svc with BSD 3-Clause "New" or "Revised" License | 5 votes |
private static void printLastGCInfo(GarbageCollectorMXBean mBean) { GcInfo lastGcInfo = mBean.getLastGcInfo(); for (Entry<String, MemoryUsage> usage : lastGcInfo.getMemoryUsageAfterGc().entrySet()) { System.out.println(String.format("%-25s\tused=%9d kB\tmax=%9d kB", usage.getKey() + ":", toKB(usage.getValue().getUsed()), toKB(usage.getValue().getMax()))); } }
Example #25
Source File: LastGCInfo.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
private static void checkGcInfo(String name, GcInfo info) throws Exception { System.out.println("GC statistic for : " + name); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map usage = info.getMemoryUsageBeforeGc(); List pnames = new ArrayList(); for (Iterator iter = usage.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry) iter.next(); String poolname = (String) entry.getKey(); pnames.add(poolname); MemoryUsage busage = (MemoryUsage) entry.getValue(); MemoryUsage ausage = (MemoryUsage) info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } // check if memory usage for all memory pools are returned List pools = ManagementFactory.getMemoryPoolMXBeans(); for (Iterator iter = pools.iterator(); iter.hasNext(); ) { MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next(); if (!pnames.contains(p.getName())) { throw new RuntimeException("GcInfo does not contain " + "memory usage for pool " + p.getName()); } } }
Example #26
Source File: LastGCInfo.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
private static void checkGcInfo(String name, GcInfo info) throws Exception { System.out.println("GC statistic for : " + name); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map usage = info.getMemoryUsageBeforeGc(); List pnames = new ArrayList(); for (Iterator iter = usage.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry) iter.next(); String poolname = (String) entry.getKey(); pnames.add(poolname); MemoryUsage busage = (MemoryUsage) entry.getValue(); MemoryUsage ausage = (MemoryUsage) info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } // check if memory usage for all memory pools are returned List pools = ManagementFactory.getMemoryPoolMXBeans(); for (Iterator iter = pools.iterator(); iter.hasNext(); ) { MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next(); if (!pnames.contains(p.getName())) { throw new RuntimeException("GcInfo does not contain " + "memory usage for pool " + p.getName()); } } }
Example #27
Source File: GcInfoCompositeData.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
public GcInfoCompositeData(GcInfo info, GcInfoBuilder builder, Object[] gcExtItemValues) { this.info = info; this.builder = builder; this.gcExtItemValues = gcExtItemValues; }
Example #28
Source File: GcInfoCompositeType.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
private static int checkType(CompositeType ct) throws Exception { Method[] methods = GcInfo.class.getMethods(); Set<String> getters = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER); for (Method m : methods) { if (m.getName().startsWith("get") && m.getParameterTypes().length == 0) getters.add(m.getName().substring(3)); } Set<String> items = new HashSet<String>(ct.keySet()); System.out.println("Items at start: " + items); // Now check that all the getters have a corresponding item in the // CompositeType, except the following: // getClass() inherited from Object should not be an item; // getCompositeType() inherited from CompositeData is not useful so // our hack removes it too. // Also track which items had corresponding getters, to make sure // there is at least one item which does not (GcThreadCount or // another gc-type-specific item). final String[] surplus = {"Class", "CompositeType"}; for (String key : ct.keySet()) { if (getters.remove(key)) items.remove(key); } if (!getters.equals(new HashSet<String>(Arrays.asList(surplus)))) { throw new Exception("Wrong getters: " + getters); } if (items.isEmpty()) { System.out.println("No type-specific items"); return 0; } else { System.out.println("Type-specific items: " + items); return 1; } }
Example #29
Source File: LastGCInfo.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
private static void checkGcInfo(String name, GcInfo info) throws Exception { System.out.println("GC statistic for : " + name); System.out.print("GC #" + info.getId()); System.out.print(" start:" + info.getStartTime()); System.out.print(" end:" + info.getEndTime()); System.out.println(" (" + info.getDuration() + "ms)"); Map usage = info.getMemoryUsageBeforeGc(); List pnames = new ArrayList(); for (Iterator iter = usage.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry) iter.next(); String poolname = (String) entry.getKey(); pnames.add(poolname); MemoryUsage busage = (MemoryUsage) entry.getValue(); MemoryUsage ausage = (MemoryUsage) info.getMemoryUsageAfterGc().get(poolname); if (ausage == null) { throw new RuntimeException("After Gc Memory does not exist" + " for " + poolname); } System.out.println("Usage for pool " + poolname); System.out.println(" Before GC: " + busage); System.out.println(" After GC: " + ausage); } // check if memory usage for all memory pools are returned List pools = ManagementFactory.getMemoryPoolMXBeans(); for (Iterator iter = pools.iterator(); iter.hasNext(); ) { MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next(); if (!pnames.contains(p.getName())) { throw new RuntimeException("GcInfo does not contain " + "memory usage for pool " + p.getName()); } } }
Example #30
Source File: GcInfoCompositeType.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
private static int checkType(CompositeType ct) throws Exception { Method[] methods = GcInfo.class.getMethods(); Set<String> getters = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER); for (Method m : methods) { if (m.getName().startsWith("get") && m.getParameterTypes().length == 0) getters.add(m.getName().substring(3)); } Set<String> items = new HashSet<String>(ct.keySet()); System.out.println("Items at start: " + items); // Now check that all the getters have a corresponding item in the // CompositeType, except the following: // getClass() inherited from Object should not be an item; // getCompositeType() inherited from CompositeData is not useful so // our hack removes it too. // Also track which items had corresponding getters, to make sure // there is at least one item which does not (GcThreadCount or // another gc-type-specific item). final String[] surplus = {"Class", "CompositeType"}; for (String key : ct.keySet()) { if (getters.remove(key)) items.remove(key); } if (!getters.equals(new HashSet<String>(Arrays.asList(surplus)))) { throw new Exception("Wrong getters: " + getters); } if (items.isEmpty()) { System.out.println("No type-specific items"); return 0; } else { System.out.println("Type-specific items: " + items); return 1; } }