001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)JBIStatisticsMBeanImpl.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.ui.runtime.mbeans;
030:
031: import javax.management.openmbean.TabularData;
032: import com.sun.jbi.ui.common.JBIRemoteException;
033:
034: /**
035: * This class is used to provide JBI statistics information to clients.
036: * @author Sun Microsystems, Inc.
037: */
038:
039: public interface JBIStatisticsMBean {
040:
041: /**
042: * This method is used to provide JBIFramework statistics in the
043: * given target.
044: * @param target target name.
045: * @return TabularData table of framework statistics in the given target.
046: *
047: * If the target is a standalone instance the table will have one entry.
048: * If the target is a cluster the table will have an entry for each instance.
049: *
050: * Each entry in this tabular data is of the following composite type
051: *
052: * String - "InstanceName",
053: * Long - "StartupTime",
054: * Long - "UpTime"
055: */
056: public TabularData getFrameworkStats(String targetName)
057: throws JBIRemoteException;
058:
059: /**
060: * This method is used to provide a list of consuming endpoints for a component.
061: * @param componentName component name
062: * @param target target name.
063: * @return TabularData list of consuming endpoints
064: * @throws JBIRemoteException if the list of endpoints could not be obtained.
065: *
066: * If the target is a standalone instance the table will have one entry.
067: * If the target is a cluster the table will have an entry for each instance.
068: *
069: * Each entry in this tabular data is of the following composite type
070: *
071: * String - "InstanceName",
072: * String[] - "Endpoints",
073: */
074: public TabularData getConsumingEndpointsForComponent(
075: String componentName, String targetName)
076: throws JBIRemoteException;
077:
078: /**
079: * This method is used to provide a list of provisioning endpoints for a component.
080: * @param componentName component name
081: * @param target target name.
082: * @return TabularData list of provisioning endpoints
083: * @throws JBIRemoteException if the list of endpoints could not be obtained.
084: *
085: * If the target is a standalone instance the table will have one entry.
086: * If the target is a cluster the table will have an entry for each instance.
087: *
088: * Each entry in this tabular data is of the following composite type
089: *
090: * String - "InstanceName",
091: * String[] - "Endpoints",
092: */
093: public TabularData getProvidingEndpointsForComponent(
094: String componentName, String targetName)
095: throws JBIRemoteException;
096:
097: /**
098: * This method is used to provide statistics for the given component
099: * in the given target
100: * @param targetName target name
101: * @param componentName component name
102: * @return TabularData table of component statistics
103: *
104: * If the target is a standalone instance the table will have one entry.
105: * If the target is a cluster the table will have an entry for each instance.
106: *
107: * Each entry in this tabular data is of the following composite type
108: *
109: * SimpleType.STRING - "InstanceName",
110: * SimpleType.LONG - "ComponentUpTime",
111: * SimpleType.LONG - "NumActivatedEndpoints",
112: * SimpleType.LONG - "NumReceivedRequests",
113: * SimpleType.LONG - "NumSentRequests",
114: * SimpleType.LONG - "NumReceivedReplies",
115: * SimpleType.LONG - "NumSentReplies",
116: * SimpleType.LONG - "NumReceivedDONEs",
117: * SimpleType.LONG - "NumSentDONEs",
118: * SimpleType.LONG - "NumReceivedFaults",
119: * SimpleType.LONG - "NumSentFaults",
120: * SimpleType.LONG - "NumReceivedErrors",
121: * SimpleType.LONG - "NumSentErrors",
122: * SimpleType.LONG - "NumCompletedExchanges",
123: * SimpleType.LONG - "NumActiveExchanges",
124: * SimpleType.LONG - "NumErrorExchanges",
125: * SimpleType.DOUBLE - "ME-ResponseTime-Avg", //time in ns
126: * SimpleType.DOUBLE - "ME-ComponentTime-Avg", //time in ns
127: * SimpleType.DOUBLE - "ME-DeliveryChannelTime-Avg", //time in ns
128: * SimpleType.DOUBLE - "ME-MessageServiceTime-Avg", //time in ns
129: * CompositeType - "ComponentExtensionStats"
130: *
131: */
132: public TabularData getComponentStats(String componentName,
133: String targetName) throws JBIRemoteException;
134:
135: /**
136: * This method is used to provide statistic information about the given
137: * endpoint in the given target
138: * @param targetName target name
139: * @param endpointName the endpoint Name
140: * @return TabularData table of endpoint statistics
141: *
142: * If the target is a standalone instance the table will have one entry.
143: * If the target is a cluster the table will have an entry for each instance.
144: *
145: * Each entry in this tabular data is of the following composite type
146: *
147: * A providing endpoint will have
148: *
149: * SimpleType.STRING - "InstanceName"
150: * SimpleType.LONG - "ActivationTime"
151: * SimpleType.LONG - "UpTime"
152: * SimpleType.LONG - "NumActiveExchanges"
153: * SimpleType.LONG - "NumReceivedRequests"
154: * SimpleType.LONG - "NumSentReplies"
155: * SimpleType.LONG - "NumReceivedDONEs"
156: * SimpleType.LONG - "NumSentDONEs"
157: * SimpleType.LONG - "NumReceivedFaults"
158: * SimpleType.LONG - "NumSentFaults"
159: * SimpleType.LONG - "NumReceivedErrors"
160: * SimpleType.LONG - "NumSentErrors"
161: * SimpleType.STRING - "ComponentName"
162: * SimpleType.LONG - "ME-ResponseTime-Avg" //time in ns
163: * SimpleType.LONG - "ME-ComponentTime-Avg" //time in ns
164: * SimpleType.LONG - "ME-DeliveryChannelTime-Avg" //time in ns
165: * SimpleType.LONG - "ME-MessageServiceTime-Avg" //time in ns
166: * TabularType - "PerformanceMeasurements" //OJC Components only
167: *
168: * A consuming endpoint will have
169: *
170: * SimpleType.STRING - "InstanceName"
171: * SimpleType.LONG - "NumSentRequests"
172: * SimpleType.LONG - "NumReceivedReplies"
173: * SimpleType.LONG - "NumReceivedDONEs"
174: * SimpleType.LONG - "NumSentDONEs"
175: * SimpleType.LONG - "NumReceivedFaults"
176: * SimpleType.LONG - "NumSentFaults"
177: * SimpleType.LONG - "NumReceivedErrors"
178: * SimpleType.LONG - "NumSentErrors"
179: * SimpleType.LONG - "ME-StatusTime-Avg" //time in ns
180: * SimpleType.LONG - "ME-ComponentTime-Avg" //time in ns
181: * SimpleType.LONG - "ME-DeliveryChannelTime-Avg" //time in ns
182: * SimpleType.LONG - "ME-MessageServiceTime-Avg" //time in ns
183: * TabularType - "PerformanceMeasurements" //OJC Components only
184: */
185: public TabularData getEndpointStats(String endpointName,
186: String targetName) throws JBIRemoteException;
187:
188: /**
189: * This method is used to provide statistics about the message service in the
190: * given target.
191: * @param target target name.
192: * @return TabularData table of NMR statistics in the given target.
193: *
194: * If the target is a standalone instance the table will have one entry.
195: * If the target is a cluster the table will have an entry for each instance.
196: *
197: * Each entry in this tabular data is of the following composite type
198: *
199: * String - "InstanceName",
200: * String[] - "ListActiveChannels",
201: * String[] - "ListActiveEndpoints"
202: */
203: public TabularData getNMRStats(String targetName)
204: throws JBIRemoteException;
205:
206: /**
207: * This method is used to provide statistics about a Service Assembly
208: * in the given target.
209: * @param target target name.
210: * @param saName the service assembly name.
211: * @return TabularData table of NMR statistics in the given target.
212: *
213: * If the target is a standalone instance the table will have one entry.
214: * If the target is a cluster the table will have an entry for each instance.
215: *
216: * Each entry in this tabular data is of the following composite type
217: *
218: * String - "SAName",
219: * Long - "SAStartTime",
220: * Long - "SAStopTime",
221: * Long - "SAShutdownTime",
222: * CompositeData[] - "SUTimes"
223: *
224: * Each entry in SUTimes would be of the following type
225: *
226: * String - "SUName"
227: * Long - "SUStartTime"
228: * Long - "SUStopTime"
229: * Long - "SUShutdownTime"
230: * String[] - "ListEndpoints"
231: */
232: public TabularData getServiceAssemblyStats(String saName,
233: String targetName) throws JBIRemoteException;
234:
235: }
|