zeroc-ice-x64-mingw 3.6b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/ICE_LICENSE +54 -0
  3. data/LICENSE +339 -0
  4. data/bin/slice2rb +17 -0
  5. data/ice-x64-mingw.gemspec +41 -0
  6. data/lib/Glacier2.rb +12 -0
  7. data/lib/Glacier2/Metrics.rb +99 -0
  8. data/lib/Glacier2/PermissionsVerifier.rb +168 -0
  9. data/lib/Glacier2/PermissionsVerifierF.rb +34 -0
  10. data/lib/Glacier2/Router.rb +141 -0
  11. data/lib/Glacier2/RouterF.rb +29 -0
  12. data/lib/Glacier2/SSLInfo.rb +79 -0
  13. data/lib/Glacier2/Session.rb +470 -0
  14. data/lib/Ice.rb +659 -0
  15. data/lib/Ice/BuiltinSequences.rb +64 -0
  16. data/lib/Ice/Communicator.rb +93 -0
  17. data/lib/Ice/CommunicatorF.rb +28 -0
  18. data/lib/Ice/Connection.rb +414 -0
  19. data/lib/Ice/ConnectionF.rb +36 -0
  20. data/lib/Ice/Current.rb +152 -0
  21. data/lib/Ice/Endpoint.rb +265 -0
  22. data/lib/Ice/EndpointF.rb +52 -0
  23. data/lib/Ice/EndpointTypes.rb +77 -0
  24. data/lib/Ice/FacetMap.rb +28 -0
  25. data/lib/Ice/Identity.rb +70 -0
  26. data/lib/Ice/ImplicitContext.rb +59 -0
  27. data/lib/Ice/ImplicitContextF.rb +28 -0
  28. data/lib/Ice/Instrumentation.rb +425 -0
  29. data/lib/Ice/InstrumentationF.rb +35 -0
  30. data/lib/Ice/LocalException.rb +1081 -0
  31. data/lib/Ice/Locator.rb +314 -0
  32. data/lib/Ice/LocatorF.rb +34 -0
  33. data/lib/Ice/Logger.rb +57 -0
  34. data/lib/Ice/LoggerF.rb +28 -0
  35. data/lib/Ice/Metrics.rb +696 -0
  36. data/lib/Ice/ObjectAdapterF.rb +28 -0
  37. data/lib/Ice/ObjectFactory.rb +53 -0
  38. data/lib/Ice/ObjectFactoryF.rb +28 -0
  39. data/lib/Ice/Plugin.rb +87 -0
  40. data/lib/Ice/PluginF.rb +32 -0
  41. data/lib/Ice/Process.rb +93 -0
  42. data/lib/Ice/ProcessF.rb +29 -0
  43. data/lib/Ice/Properties.rb +65 -0
  44. data/lib/Ice/PropertiesAdmin.rb +104 -0
  45. data/lib/Ice/PropertiesF.rb +33 -0
  46. data/lib/Ice/Router.rb +163 -0
  47. data/lib/Ice/RouterF.rb +29 -0
  48. data/lib/Ice/SliceChecksumDict.rb +28 -0
  49. data/lib/Ice/Version.rb +100 -0
  50. data/lib/IceBox.rb +10 -0
  51. data/lib/IceBox/IceBox.rb +272 -0
  52. data/lib/IceGrid.rb +17 -0
  53. data/lib/IceGrid/Admin.rb +1076 -0
  54. data/lib/IceGrid/Descriptor.rb +1505 -0
  55. data/lib/IceGrid/Exception.rb +401 -0
  56. data/lib/IceGrid/FileParser.rb +105 -0
  57. data/lib/IceGrid/Locator.rb +105 -0
  58. data/lib/IceGrid/Observer.rb +571 -0
  59. data/lib/IceGrid/Query.rb +168 -0
  60. data/lib/IceGrid/Registry.rb +120 -0
  61. data/lib/IceGrid/Session.rb +114 -0
  62. data/lib/IceGrid/UserAccountMapper.rb +101 -0
  63. data/lib/IcePatch2.rb +10 -0
  64. data/lib/IcePatch2/FileInfo.rb +75 -0
  65. data/lib/IcePatch2/FileServer.rb +141 -0
  66. data/lib/IceRuby.so +0 -0
  67. data/lib/IceStorm.rb +11 -0
  68. data/lib/IceStorm/IceStorm.rb +463 -0
  69. data/lib/IceStorm/Metrics.rb +155 -0
  70. data/slice/Freeze/BackgroundSaveEvictor.ice +111 -0
  71. data/slice/Freeze/CatalogData.ice +49 -0
  72. data/slice/Freeze/Connection.ice +111 -0
  73. data/slice/Freeze/ConnectionF.ice +20 -0
  74. data/slice/Freeze/DB.ice +37 -0
  75. data/slice/Freeze/Evictor.ice +339 -0
  76. data/slice/Freeze/EvictorF.ice +22 -0
  77. data/slice/Freeze/EvictorStorage.ice +72 -0
  78. data/slice/Freeze/Exception.ice +100 -0
  79. data/slice/Freeze/Transaction.ice +57 -0
  80. data/slice/Freeze/TransactionalEvictor.ice +50 -0
  81. data/slice/Glacier2/Metrics.ice +77 -0
  82. data/slice/Glacier2/PermissionsVerifier.ice +105 -0
  83. data/slice/Glacier2/PermissionsVerifierF.ice +21 -0
  84. data/slice/Glacier2/Router.ice +178 -0
  85. data/slice/Glacier2/RouterF.ice +20 -0
  86. data/slice/Glacier2/SSLInfo.ice +50 -0
  87. data/slice/Glacier2/Session.ice +273 -0
  88. data/slice/Ice/BuiltinSequences.ice +48 -0
  89. data/slice/Ice/Communicator.ice +567 -0
  90. data/slice/Ice/CommunicatorF.ice +20 -0
  91. data/slice/Ice/Connection.ice +323 -0
  92. data/slice/Ice/ConnectionF.ice +22 -0
  93. data/slice/Ice/Current.ice +160 -0
  94. data/slice/Ice/Endpoint.ice +227 -0
  95. data/slice/Ice/EndpointF.ice +32 -0
  96. data/slice/Ice/EndpointTypes.ice +38 -0
  97. data/slice/Ice/FacetMap.ice +25 -0
  98. data/slice/Ice/Identity.ice +59 -0
  99. data/slice/Ice/ImplicitContext.ice +109 -0
  100. data/slice/Ice/ImplicitContextF.ice +20 -0
  101. data/slice/Ice/Instrumentation.ice +499 -0
  102. data/slice/Ice/InstrumentationF.ice +26 -0
  103. data/slice/Ice/LocalException.ice +1015 -0
  104. data/slice/Ice/Locator.ice +227 -0
  105. data/slice/Ice/LocatorF.ice +21 -0
  106. data/slice/Ice/Logger.ice +86 -0
  107. data/slice/Ice/LoggerF.ice +20 -0
  108. data/slice/Ice/Metrics.ice +422 -0
  109. data/slice/Ice/ObjectAdapter.ice +673 -0
  110. data/slice/Ice/ObjectAdapterF.ice +20 -0
  111. data/slice/Ice/ObjectFactory.ice +60 -0
  112. data/slice/Ice/ObjectFactoryF.ice +20 -0
  113. data/slice/Ice/Plugin.ice +117 -0
  114. data/slice/Ice/PluginF.ice +21 -0
  115. data/slice/Ice/Process.ice +54 -0
  116. data/slice/Ice/ProcessF.ice +20 -0
  117. data/slice/Ice/Properties.ice +228 -0
  118. data/slice/Ice/PropertiesAdmin.ice +75 -0
  119. data/slice/Ice/PropertiesF.ice +21 -0
  120. data/slice/Ice/RemoteLogger.ice +232 -0
  121. data/slice/Ice/Router.ice +83 -0
  122. data/slice/Ice/RouterF.ice +20 -0
  123. data/slice/Ice/ServantLocator.ice +117 -0
  124. data/slice/Ice/ServantLocatorF.ice +20 -0
  125. data/slice/Ice/SliceChecksumDict.ice +25 -0
  126. data/slice/Ice/Version.ice +39 -0
  127. data/slice/IceBox/IceBox.ice +194 -0
  128. data/slice/IceDiscovery/IceDiscovery.ice +32 -0
  129. data/slice/IceGrid/Admin.ice +1578 -0
  130. data/slice/IceGrid/Descriptor.ice +1079 -0
  131. data/slice/IceGrid/Discovery.ice +73 -0
  132. data/slice/IceGrid/Exception.ice +383 -0
  133. data/slice/IceGrid/FileParser.ice +61 -0
  134. data/slice/IceGrid/Locator.ice +56 -0
  135. data/slice/IceGrid/Observer.ice +394 -0
  136. data/slice/IceGrid/PluginFacade.ice +316 -0
  137. data/slice/IceGrid/Query.ice +130 -0
  138. data/slice/IceGrid/Registry.ice +138 -0
  139. data/slice/IceGrid/Session.ice +124 -0
  140. data/slice/IceGrid/UserAccountMapper.ice +58 -0
  141. data/slice/IcePatch2/FileInfo.ice +49 -0
  142. data/slice/IcePatch2/FileServer.ice +129 -0
  143. data/slice/IceSSL/ConnectionInfo.ice +34 -0
  144. data/slice/IceSSL/EndpointInfo.ice +41 -0
  145. data/slice/IceStorm/IceStorm.ice +405 -0
  146. data/slice/IceStorm/Metrics.ice +71 -0
  147. metadata +207 -0
@@ -0,0 +1,227 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ #include <Ice/Identity.ice>
15
+ #include <Ice/ProcessF.ice>
16
+
17
+ module Ice
18
+ {
19
+
20
+ /**
21
+ *
22
+ * This exception is raised if an adapter cannot be found.
23
+ *
24
+ **/
25
+ exception AdapterNotFoundException
26
+ {
27
+ };
28
+
29
+ /**
30
+ *
31
+ * This exception is raised if the replica group provided by the
32
+ * server is invalid.
33
+ *
34
+ **/
35
+ exception InvalidReplicaGroupIdException
36
+ {
37
+ };
38
+
39
+ /**
40
+ *
41
+ * This exception is raised if a server tries to set endpoints for
42
+ * an adapter that is already active.
43
+ *
44
+ **/
45
+ exception AdapterAlreadyActiveException
46
+ {
47
+ };
48
+
49
+ /**
50
+ *
51
+ * This exception is raised if an object cannot be found.
52
+ *
53
+ **/
54
+ exception ObjectNotFoundException
55
+ {
56
+ };
57
+
58
+ /**
59
+ *
60
+ * This exception is raised if a server cannot be found.
61
+ *
62
+ **/
63
+ exception ServerNotFoundException
64
+ {
65
+ };
66
+
67
+ interface LocatorRegistry;
68
+
69
+ /**
70
+ *
71
+ * The Ice locator interface. This interface is used by clients to
72
+ * lookup adapters and objects. It is also used by servers to get the
73
+ * locator registry proxy.
74
+ *
75
+ * <p class="Note">The {@link Locator} interface is intended to be used by
76
+ * Ice internals and by locator implementations. Regular user code
77
+ * should not attempt to use any functionality of this interface
78
+ * directly.
79
+ *
80
+ **/
81
+ interface Locator
82
+ {
83
+ /**
84
+ *
85
+ * Find an object by identity and return its proxy.
86
+ *
87
+ * @param id The identity.
88
+ *
89
+ * @return The proxy, or null if the object is not active.
90
+ *
91
+ * @throws ObjectNotFoundException Raised if the object cannot
92
+ * be found.
93
+ *
94
+ **/
95
+ ["amd", "nonmutating", "cpp:const"] idempotent Object* findObjectById(Ice::Identity id)
96
+ throws ObjectNotFoundException;
97
+
98
+ /**
99
+ *
100
+ * Find an adapter by id and return its proxy (a dummy direct
101
+ * proxy created by the adapter).
102
+ *
103
+ * @param id The adapter id.
104
+ *
105
+ * @return The adapter proxy, or null if the adapter is not active.
106
+ *
107
+ * @throws AdapterNotFoundException Raised if the adapter cannot be
108
+ * found.
109
+ *
110
+ **/
111
+ ["amd", "nonmutating", "cpp:const"] idempotent Object* findAdapterById(string id)
112
+ throws AdapterNotFoundException;
113
+
114
+ /**
115
+ *
116
+ * Get the locator registry.
117
+ *
118
+ * @return The locator registry.
119
+ *
120
+ **/
121
+ ["nonmutating", "cpp:const"] idempotent LocatorRegistry* getRegistry();
122
+ };
123
+
124
+ /**
125
+ *
126
+ * The Ice locator registry interface. This interface is used by
127
+ * servers to register adapter endpoints with the locator.
128
+ *
129
+ * <p class="Note"> The {@link LocatorRegistry} interface is intended to be used
130
+ * by Ice internals and by locator implementations. Regular user
131
+ * code should not attempt to use any functionality of this interface
132
+ * directly.
133
+ *
134
+ **/
135
+ interface LocatorRegistry
136
+ {
137
+ /**
138
+ *
139
+ * Set the adapter endpoints with the locator registry.
140
+ *
141
+ * @param id The adapter id.
142
+ *
143
+ * @param proxy The adapter proxy (a dummy direct proxy created
144
+ * by the adapter). The direct proxy contains the adapter
145
+ * endpoints.
146
+ *
147
+ * @throws AdapterNotFoundException Raised if the adapter cannot
148
+ * be found, or if the locator only allows
149
+ * registered adapters to set their active proxy and the
150
+ * adapter is not registered with the locator.
151
+ *
152
+ * @throws AdapterAlreadyActiveException Raised if an adapter with the same
153
+ * id is already active.
154
+ *
155
+ **/
156
+ ["amd"] idempotent void setAdapterDirectProxy(string id, Object* proxy)
157
+ throws AdapterNotFoundException, AdapterAlreadyActiveException;
158
+
159
+ /**
160
+ *
161
+ * Set the adapter endpoints with the locator registry.
162
+ *
163
+ * @param adapterId The adapter id.
164
+ *
165
+ * @param replicaGroupId The replica group id.
166
+ *
167
+ * @param p The adapter proxy (a dummy direct proxy created
168
+ * by the adapter). The direct proxy contains the adapter
169
+ * endpoints.
170
+ *
171
+ * @throws AdapterNotFoundException Raised if the adapter cannot
172
+ * be found, or if the locator only allows registered adapters to
173
+ * set their active proxy and the adapter is not registered with
174
+ * the locator.
175
+ *
176
+ * @throws AdapterAlreadyActiveException Raised if an adapter with the same
177
+ * id is already active.
178
+ *
179
+ * @throws InvalidReplicaGroupIdException Raised if the given
180
+ * replica group doesn't match the one registered with the
181
+ * locator registry for this object adapter.
182
+ *
183
+ **/
184
+ ["amd"] idempotent void setReplicatedAdapterDirectProxy(string adapterId, string replicaGroupId, Object* p)
185
+ throws AdapterNotFoundException, AdapterAlreadyActiveException, InvalidReplicaGroupIdException;
186
+
187
+ /**
188
+ *
189
+ * Set the process proxy for a server.
190
+ *
191
+ * @param id The server id.
192
+ *
193
+ * @param proxy The process proxy.
194
+ *
195
+ * @throws ServerNotFoundException Raised if the server cannot
196
+ * be found.
197
+ *
198
+ **/
199
+ ["amd"] idempotent void setServerProcessProxy(string id, Process* proxy)
200
+ throws ServerNotFoundException;
201
+ };
202
+
203
+ /**
204
+ *
205
+ * This inferface should be implemented by services implementing the
206
+ * Ice::Locator interface. It should be advertised through an Ice
207
+ * object with the identity `Ice/LocatorFinder'. This allows clients
208
+ * to retrieve the locator proxy with just the endpoint information of
209
+ * the service.
210
+ *
211
+ **/
212
+ interface LocatorFinder
213
+ {
214
+ /**
215
+ *
216
+ * Get the locator proxy implemented by the process hosting this
217
+ * finder object. The proxy might point to several replicas.
218
+ *
219
+ * @return The locator proxy.
220
+ *
221
+ **/
222
+ Locator* getLocator();
223
+ };
224
+
225
+ };
226
+
227
+
@@ -0,0 +1,21 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ interface Locator;
18
+ interface LocatorRegistry;
19
+
20
+ };
21
+
@@ -0,0 +1,86 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ /**
18
+ *
19
+ * The Ice message logger. Applications can provide their own logger
20
+ * by implementing this interface and installing it in a communicator.
21
+ *
22
+ **/
23
+ local interface Logger
24
+ {
25
+ /**
26
+ *
27
+ * Print a message. The message is printed literally, without
28
+ * any decorations such as executable name or time stamp.
29
+ *
30
+ **/
31
+ void print(string message);
32
+
33
+ /**
34
+ *
35
+ * Log a trace message.
36
+ *
37
+ * @param category The trace category.
38
+ *
39
+ * @param message The trace message to log.
40
+ *
41
+ **/
42
+ void trace(string category, string message);
43
+
44
+ /**
45
+ *
46
+ * Log a warning message.
47
+ *
48
+ * @param message The warning message to log.
49
+ *
50
+ * @see #error
51
+ *
52
+ **/
53
+ void warning(string message);
54
+
55
+ /**
56
+ *
57
+ * Log an error message.
58
+ *
59
+ * @param message The error message to log.
60
+ *
61
+ * @see #warning
62
+ *
63
+ **/
64
+ void error(string message);
65
+
66
+ /**
67
+ *
68
+ * Returns this logger's prefix.
69
+ *
70
+ * @return The prefix.
71
+ *
72
+ **/
73
+ string getPrefix();
74
+
75
+ /**
76
+ *
77
+ * Returns a clone of the logger with a new prefix.
78
+ *
79
+ * @param prefix The new prefix for the logger.
80
+ *
81
+ */
82
+ Logger cloneWithPrefix(string prefix);
83
+ };
84
+
85
+ };
86
+
@@ -0,0 +1,20 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ local interface Logger;
18
+
19
+ };
20
+
@@ -0,0 +1,422 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ #include <Ice/BuiltinSequences.ice>
15
+
16
+ /**
17
+ *
18
+ * The Ice Management eXtension facility. It provides the {@link
19
+ * IceMX#MetricsAdmin} interface for management clients to retrieve
20
+ * metrics from Ice applications.
21
+ *
22
+ **/
23
+ module IceMX
24
+ {
25
+
26
+ /**
27
+ *
28
+ * A dictionnary of strings to integers.
29
+ *
30
+ **/
31
+ dictionary<string, int> StringIntDict;
32
+
33
+ /**
34
+ *
35
+ * The base class for metrics. A metrics object represents a
36
+ * collection of measurements associated to a given a system.
37
+ *
38
+ **/
39
+ class Metrics
40
+ {
41
+ /**
42
+ *
43
+ * The metrics identifier.
44
+ *
45
+ **/
46
+ string id;
47
+
48
+ /**
49
+ *
50
+ * The total number of objects that were observed by this metrics.
51
+ *
52
+ **/
53
+ long total = 0;
54
+
55
+ /**
56
+ *
57
+ * The current number of objects observed by this metrics.
58
+ *
59
+ **/
60
+ int current = 0;
61
+
62
+ /**
63
+ *
64
+ * The sum of the lifetime of each observed objects. This does not
65
+ * include the lifetime of objects which are currently observed.
66
+ *
67
+ **/
68
+ long totalLifetime = 0;
69
+
70
+ /**
71
+ *
72
+ * The number of failures observed.
73
+ *
74
+ **/
75
+ int failures = 0;
76
+ };
77
+
78
+ /**
79
+ *
80
+ * A structure to keep track of failures associated with a given
81
+ * metrics.
82
+ *
83
+ **/
84
+ struct MetricsFailures
85
+ {
86
+ /**
87
+ *
88
+ * The identifier of the metrics object associated to the
89
+ * failures.
90
+ *
91
+ **/
92
+ string id;
93
+
94
+ /**
95
+ *
96
+ * The failures observed for this metrics.
97
+ *
98
+ **/
99
+ StringIntDict failures;
100
+ };
101
+
102
+ /**
103
+ *
104
+ * A sequence of {@link MetricsFailures}.
105
+ *
106
+ **/
107
+ sequence<MetricsFailures> MetricsFailuresSeq;
108
+
109
+ /**
110
+ *
111
+ * A metrics map is a sequence of metrics. We use a sequence here
112
+ * instead of a map because the ID of the metrics is already included
113
+ * in the Metrics class and using sequences of metrics objects is more
114
+ * efficient than using dictionaries since lookup is not necessary.
115
+ *
116
+ **/
117
+ sequence<Metrics> MetricsMap;
118
+
119
+ /**
120
+ *
121
+ * A metrics view is a dictionary of metrics map. The key of the
122
+ * dictionary is the name of the metrics map.
123
+ *
124
+ **/
125
+ dictionary<string, MetricsMap> MetricsView;
126
+
127
+ /**
128
+ *
129
+ * Raised if a metrics view cannot be found.
130
+ *
131
+ **/
132
+ exception UnknownMetricsView
133
+ {
134
+ };
135
+
136
+ /**
137
+ *
138
+ * The metrics administrative facet interface. This interface allows
139
+ * remote administrative clients to access metrics of an application
140
+ * that enabled the Ice administrative facility and configured some
141
+ * metrics views.
142
+ *
143
+ **/
144
+ ["format:sliced"]
145
+ interface MetricsAdmin
146
+ {
147
+ /**
148
+ *
149
+ * Get the names of enabled and disabled metrics.
150
+ *
151
+ * @param disabledViews The names of the disabled views.
152
+ *
153
+ * @return The name of the enabled views.
154
+ *
155
+ **/
156
+ Ice::StringSeq getMetricsViewNames(out Ice::StringSeq disabledViews);
157
+
158
+ /**
159
+ *
160
+ * Enables a metrics view.
161
+ *
162
+ * @param name The metrics view name.
163
+ *
164
+ * @throws UnknownMetricsView Raised if the metrics view cannot be
165
+ * found.
166
+ *
167
+ **/
168
+ void enableMetricsView(string name)
169
+ throws UnknownMetricsView;
170
+
171
+ /**
172
+ *
173
+ * Disable a metrics view.
174
+ *
175
+ * @param name The metrics view name.
176
+ *
177
+ * @throws UnknownMetricsView Raised if the metrics view cannot be
178
+ * found.
179
+ *
180
+ **/
181
+ void disableMetricsView(string name)
182
+ throws UnknownMetricsView;
183
+
184
+ /**
185
+ *
186
+ * Get the metrics objects for the given metrics view. This
187
+ * returns a dictionnary of metric maps for each metrics class
188
+ * configured with the view. The timestamp allows the client to
189
+ * compute averages which are not dependent of the invocation
190
+ * latency for this operation.
191
+ *
192
+ * @param view The name of the metrics view.
193
+ *
194
+ * @param timestamp The local time of the process when the metrics
195
+ * object were retrieved.
196
+ *
197
+ * @return The metrics view data.
198
+ *
199
+ * @throws UnknownMetricsView Raised if the metrics view cannot be
200
+ * found.
201
+ *
202
+ **/
203
+ MetricsView getMetricsView(string view, out long timestamp)
204
+ throws UnknownMetricsView;
205
+
206
+ /**
207
+ *
208
+ * Get the metrics failures associated with the given view and map.
209
+ *
210
+ * @param view The name of the metrics view.
211
+ *
212
+ * @param map The name of the metrics map.
213
+ *
214
+ * @return The metrics failures associated with the map.
215
+ *
216
+ * @throws UnknownMetricsView Raised if the metrics view cannot be
217
+ * found.
218
+ *
219
+ **/
220
+ MetricsFailuresSeq getMapMetricsFailures(string view, string map)
221
+ throws UnknownMetricsView;
222
+
223
+ /**
224
+ *
225
+ * Get the metrics failure associated for the given metrics.
226
+ *
227
+ * @param view The name of the metrics view.
228
+ *
229
+ * @param map The name of the metrics map.
230
+ *
231
+ * @param id The ID of the metrics.
232
+ *
233
+ * @return The metrics failures associated with the metrics.
234
+ *
235
+ * @throws UnknownMetricsView Raised if the metrics view cannot be
236
+ * found.
237
+ *
238
+ **/
239
+ MetricsFailures getMetricsFailures(string view, string map, string id)
240
+ throws UnknownMetricsView;
241
+ };
242
+
243
+ /**
244
+ *
245
+ * Provides information on the number of threads currently in use and
246
+ * their activity.
247
+ *
248
+ **/
249
+ class ThreadMetrics extends Metrics
250
+ {
251
+ /**
252
+ *
253
+ * The number of threads which are currently performing socket
254
+ * read or writes.
255
+ *
256
+ **/
257
+ int inUseForIO = 0;
258
+
259
+ /**
260
+ *
261
+ * The number of threads which are currently calling user code
262
+ * (servant dispatch, AMI callbacks, etc).
263
+ *
264
+ **/
265
+ int inUseForUser = 0;
266
+
267
+ /**
268
+ *
269
+ * The number of threads which are currently performing other
270
+ * activities. These are all other that are not counted with
271
+ * {@link inUseForUser} or {@link inUseForIO}, such as DNS
272
+ * lookups, garbage collection).
273
+ *
274
+ **/
275
+ int inUseForOther = 0;
276
+ };
277
+
278
+ /**
279
+ *
280
+ * Provides information on servant dispatch.
281
+ *
282
+ **/
283
+ class DispatchMetrics extends Metrics
284
+ {
285
+ /**
286
+ *
287
+ * The number of dispatch that failed with a user exception.
288
+ *
289
+ **/
290
+ int userException = 0;
291
+
292
+ /**
293
+ *
294
+ * The size of the dispatch. This corresponds to the size of the
295
+ * marshalled input parameters.
296
+ *
297
+ **/
298
+ long size = 0;
299
+
300
+ /**
301
+ *
302
+ * The size of the dispatch reply. This corresponds to the size of
303
+ * the marshalled output and return parameters.
304
+ *
305
+ **/
306
+ long replySize = 0;
307
+ };
308
+
309
+ /**
310
+ *
311
+ * Provides information on child invocations. A child invocation is
312
+ * either remote (sent over an Ice connection) or collocated. An
313
+ * invocation can have multiple child invocation if it is
314
+ * retried. Child invocation metrics are embedded within {@link
315
+ * InvocationMetrics}.
316
+ *
317
+ **/
318
+ class ChildInvocationMetrics extends Metrics
319
+ {
320
+ /**
321
+ *
322
+ * The size of the invocation. This corresponds to the size of the
323
+ * marshalled input parameters.
324
+ *
325
+ **/
326
+ long size = 0;
327
+
328
+ /**
329
+ *
330
+ * The size of the invocation reply. This corresponds to the size
331
+ * of the marshalled output and return parameters.
332
+ *
333
+ **/
334
+ long replySize = 0;
335
+ };
336
+
337
+ /**
338
+ *
339
+ * Provides information on invocations that are collocated. Collocated
340
+ * metrics are embedded within {@link InvocationMetrics}.
341
+ *
342
+ **/
343
+ class CollocatedMetrics extends ChildInvocationMetrics
344
+ {
345
+ };
346
+
347
+ /**
348
+ *
349
+ * Provides information on invocations that are specifically sent over
350
+ * Ice connections. Remote metrics are embedded within {@link
351
+ * InvocationMetrics}.
352
+ *
353
+ **/
354
+ class RemoteMetrics extends ChildInvocationMetrics
355
+ {
356
+ };
357
+
358
+ /**
359
+ *
360
+ * Provide measurements for proxy invocations. Proxy invocations can
361
+ * either be sent over the wire or be collocated.
362
+ *
363
+ **/
364
+ class InvocationMetrics extends Metrics
365
+ {
366
+ /**
367
+ *
368
+ * The number of retries for the invocation(s).
369
+ *
370
+ **/
371
+ int retry = 0;
372
+
373
+ /**
374
+ *
375
+ * The number of invocations that failed with a user exception.
376
+ *
377
+ **/
378
+ int userException = 0;
379
+
380
+ /**
381
+ *
382
+ * The remote invocation metrics map.
383
+ *
384
+ * @see RemoteMetrics
385
+ *
386
+ **/
387
+ MetricsMap remotes;
388
+
389
+ /**
390
+ *
391
+ * The collocated invocation metrics map.
392
+ *
393
+ * @see CollocatedMetrics
394
+ *
395
+ **/
396
+ MetricsMap collocated;
397
+ };
398
+
399
+ /**
400
+ *
401
+ * Provides information on the data sent and received over Ice
402
+ * connections.
403
+ *
404
+ **/
405
+ class ConnectionMetrics extends Metrics
406
+ {
407
+ /**
408
+ *
409
+ * The number of bytes received by the connection.
410
+ *
411
+ **/
412
+ long receivedBytes = 0;
413
+
414
+ /**
415
+ *
416
+ * The number of bytes sent by the connection.
417
+ *
418
+ **/
419
+ long sentBytes = 0;
420
+ };
421
+
422
+ };