1 /* 2 * Copyright (c) 2014, 2015, Dynatrace and/or its affiliates. All rights reserved. 3 * 4 * This file is part of the Lock Contention Tracing Subsystem for the HotSpot 5 * Virtual Machine, which is developed at Christian Doppler Laboratory on 6 * Monitoring and Evolution of Very-Large-Scale Software Systems. Please 7 * contact us at <http://mevss.jku.at/> if you need additional information 8 * or have any questions. 9 * 10 * This code is free software; you can redistribute it and/or modify it 11 * under the terms of the GNU General Public License version 2 only, as 12 * published by the Free Software Foundation. 13 * 14 * This code is distributed in the hope that it will be useful, but WITHOUT 15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 17 * version 2 for more details (a copy is included in the LICENSE file that 18 * accompanied this code). 19 * 20 * You should have received a copy of the GNU General Public License version 21 * 2 along with this work. If not, see <http://www.gnu.org/licenses/>. 22 * 23 */ 24 package sun.evtracing.processing; 25 26 import java.util.Map; 27 28 import sun.evtracing.parser.ClassLoaderUnloadEvent; 29 import sun.evtracing.parser.ClassMetadataEvent; 30 import sun.evtracing.parser.GroupEvent; 31 import sun.evtracing.parser.IdenticalStacksMetadataEvent; 32 import sun.evtracing.parser.MarkerEvent; 33 import sun.evtracing.parser.MetadataResetEvent; 34 import sun.evtracing.parser.MethodMetadataEvent; 35 import sun.evtracing.parser.MonitorContendedEnterEvent; 36 import sun.evtracing.parser.MonitorContendedEnteredEvent; 37 import sun.evtracing.parser.MonitorContendedExitedEvent; 38 import sun.evtracing.parser.MonitorDeflateEvent; 39 import sun.evtracing.parser.MonitorDummyEvent; 40 import sun.evtracing.parser.MonitorInflateEvent; 41 import sun.evtracing.parser.SafepointBeginEvent; 42 import sun.evtracing.parser.SafepointEndEvent; 43 import sun.evtracing.parser.StackMetadataEvent; 44 import sun.evtracing.parser.ThreadExitEvent; 45 import sun.evtracing.parser.ThreadInterruptEvent; 46 import sun.evtracing.parser.ThreadNameChangeEvent; 47 import sun.evtracing.parser.ThreadParkBeginEvent; 48 import sun.evtracing.parser.ThreadParkEndEvent; 49 import sun.evtracing.parser.ThreadStartEvent; 50 import sun.evtracing.parser.ThreadStateChangeEvent; 51 import sun.evtracing.parser.ThreadUnparkEvent; 52 import sun.evtracing.parser.TraceEvent; 53 import sun.evtracing.parser.VMEndEvent; 54 55 public abstract class TraceEventUniversalHandler implements TraceEventHandler { 56 57 static { 58 Sanity.assertNoInheritedAbstractMethods(TraceEventUniversalHandler.class); 59 } 60 61 public abstract void handle(TraceEvent event); 62 63 @Override 64 public void threadStart(ThreadStartEvent event) { 65 handle(event); 66 } 67 68 @Override 69 public void threadNameChange(ThreadNameChangeEvent event) { 70 handle(event); 71 } 72 73 @Override 74 public void threadStateChange(ThreadStateChangeEvent event) { 75 handle(event); 76 } 77 78 @Override 79 public void threadInterrupt(ThreadInterruptEvent event) { 80 handle(event); 81 } 82 83 @Override 84 public void threadExit(ThreadExitEvent event) { 85 handle(event); 86 } 87 88 @Override 89 public void threadParkBegin(ThreadParkBeginEvent event) { 90 handle(event); 91 } 92 93 @Override 94 public void threadParkEnd(ThreadParkEndEvent event) { 95 handle(event); 96 } 97 98 @Override 99 public void threadUnpark(ThreadUnparkEvent event) { 100 handle(event); 101 } 102 103 @Override 104 public void monitorContendedEnter(MonitorContendedEnterEvent event) { 105 handle(event); 106 } 107 108 @Override 109 public void monitorDeflate(MonitorDeflateEvent event) { 110 handle(event); 111 } 112 113 @Override 114 public void monitorContendedEntered(MonitorContendedEnteredEvent event) { 115 handle(event); 116 } 117 118 @Override 119 public void monitorContendedExited(MonitorContendedExitedEvent event) { 120 handle(event); 121 } 122 123 @Override 124 public void monitorDummy(MonitorDummyEvent event) { 125 handle(event); 126 } 127 128 @Override 129 public void safepointBegin(SafepointBeginEvent event) { 130 handle(event); 131 } 132 133 @Override 134 public void safepointEnd(SafepointEndEvent event) { 135 handle(event); 136 } 137 138 @Override 139 public void endVM(VMEndEvent event) { 140 handle(event); 141 } 142 143 @Override 144 public void monitorInflate(MonitorInflateEvent event) { 145 handle(event); 146 } 147 148 @Override 149 public void classMetadata(ClassMetadataEvent event) { 150 handle(event); 151 } 152 153 @Override 154 public void methodMetadata(MethodMetadataEvent event) { 155 handle(event); 156 } 157 158 @Override 159 public void classLoaderUnload(ClassLoaderUnloadEvent event) { 160 handle(event); 161 } 162 163 @Override 164 public void stackMetadata(StackMetadataEvent event) { 165 handle(event); 166 } 167 168 @Override 169 public void identicalStacksMetadata(IdenticalStacksMetadataEvent event) { 170 handle(event); 171 } 172 173 @Override 174 public void metadataReset(MetadataResetEvent event) { 175 handle(event); 176 } 177 178 @Override 179 public void group(GroupEvent event) { 180 handle(event); 181 } 182 183 @Override 184 public void marker(MarkerEvent event) { 185 handle(event); 186 } 187 188 @Override 189 public abstract void putStatistics(Map<String, Double> map); 190 191 @Override 192 public abstract void resetStatistics(); 193 }