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 }