1 package org.apache.helix.controller.pipeline;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Map;
23
24 import org.apache.helix.controller.stages.ClusterEvent;
25 import org.apache.helix.monitoring.mbeans.HelixStageLatencyMonitor;
26
27
28 public class AbstractBaseStage implements Stage
29 {
30 @Override
31 public void init(StageContext context)
32 {
33
34 }
35
36 @Override
37 public void preProcess()
38 {
39
40
41 }
42
43 @Override
44 public void process(ClusterEvent event) throws Exception
45 {
46
47 }
48
49 @Override
50 public void postProcess()
51 {
52
53 }
54
55 @Override
56 public void release()
57 {
58
59 }
60
61 @Override
62 public String getStageName()
63 {
64
65 String className = this.getClass().getName();
66 return className;
67 }
68
69 public void addLatencyToMonitor(ClusterEvent event, long latency)
70 {
71 Map<String, HelixStageLatencyMonitor> stgLatencyMonitorMap =
72 event.getAttribute("HelixStageLatencyMonitorMap");
73 if (stgLatencyMonitorMap != null)
74 {
75 if (stgLatencyMonitorMap.containsKey(getStageName()))
76 {
77 HelixStageLatencyMonitor stgLatencyMonitor =
78 stgLatencyMonitorMap.get(getStageName());
79 stgLatencyMonitor.addStgLatency(latency);
80 }
81 }
82 }
83 }