01: package com.sun.portal.rproxy.monitoring;
02:
03: import com.sun.portal.monitoring.statistics.*;
04: import com.sun.portal.monitoring.Subsystem;
05: import com.sun.portal.rproxy.monitoring.statistics.CountStatisticSupport;
06: import com.sun.portal.util.SRAEvent;
07:
08: /**
09: * author: Noble Paul
10: * Date: Feb 11, 2005, 10:35:31 AM
11: */
12: public class SocketsStatistic extends RProxyStatisticBase {
13:
14: public static final String ACTIVE_SERVER_SOCKETS = "ActiveServerSockets";
15: public static final String ACTIVE_PLAIN_SOCKETS = "ActivePlainSockets";
16: public static final String ACTIVE_SECURE_SOCKETS = "ActiveSecureSockets";
17: private static CountStatisticSupport activeServerSockets = new CountStatisticSupport();
18: private static CountStatisticSupport activePlainSockets = new CountStatisticSupport();
19: private static CountStatisticSupport activeSecureSockets = new CountStatisticSupport();
20:
21: public SocketsStatistic(Subsystem subsystem) {
22: super (subsystem);
23: }
24:
25: protected String getMbeanType() {
26: return "Socket";
27: }
28:
29: protected String[] getMBeanNames() {
30: return new String[] { ACTIVE_SERVER_SOCKETS,
31: ACTIVE_PLAIN_SOCKETS, ACTIVE_SECURE_SOCKETS };
32: }
33:
34: protected StatisticImpl[] getStatistics() {
35: return new StatisticImpl[] { activeServerSockets,
36: activePlainSockets, activeSecureSockets };
37: }
38:
39: protected StatisticWrapper getStatistic(String name) {
40: return getCountStatistic(name);
41: }
42:
43: public void handleEvent(SRAEvent event, Object obj) {
44: if (event == SRAEvent.PLAIN_SOCKET_CREATED) {
45: activePlainSockets.increment();
46: return;
47: }
48: if (event == SRAEvent.PLAIN_SOCKET_DESTROYED) {
49: activePlainSockets.decrement();
50: return;
51: }
52: if (event == SRAEvent.SSL_SOCKET_CREATED) {
53: activeSecureSockets.increment();
54: return;
55: }
56: if (event == SRAEvent.SSL_SOCKET_DESTROYED) {
57: activeSecureSockets.decrement();
58: return;
59: }
60: if (event == SRAEvent.SERVER_SOCKET_CREATED) {
61: activeServerSockets.increment();
62: return;
63: }
64: if (event == SRAEvent.SERVER_SOCKET_DESTROYED) {
65: activeServerSockets.decrement();
66: }
67: }
68:
69: public SRAEvent[] getInterestedEvents() {
70: return new SRAEvent[] { SRAEvent.PLAIN_SOCKET_CREATED,
71: SRAEvent.PLAIN_SOCKET_DESTROYED,
72: SRAEvent.SERVER_SOCKET_CREATED,
73: SRAEvent.SERVER_SOCKET_DESTROYED,
74: SRAEvent.SSL_SOCKET_CREATED,
75: SRAEvent.SSL_SOCKET_DESTROYED };
76: }
77: }
|