19
19
import java .lang .management .ManagementFactory ;
20
20
import java .util .Collections ;
21
21
22
- import io .pcp .parfait .DynamicMonitoringView ;
23
22
import io .pcp .parfait .dxm .HashingIdentifierSource ;
24
23
import io .pcp .parfait .dxm .IdentifierSource ;
25
24
@@ -31,15 +30,18 @@ public class MonitoringViewProperties {
31
30
private static final String INTERVAL = "interval" ;
32
31
private static final String STARTUP = "startup" ;
33
32
private static final String CONNECT = "connect" ;
33
+ private static final String WRITER_WAIT = "writer.wait" ;
34
34
35
35
public static final String PARFAIT_NAME = PARFAIT + "." + NAME ;
36
36
public static final String PARFAIT_CLUSTER = PARFAIT + "." + CLUSTER ;
37
37
public static final String PARFAIT_INTERVAL = PARFAIT + "." + INTERVAL ;
38
38
public static final String PARFAIT_STARTUP = PARFAIT + "." + STARTUP ;
39
39
public static final String PARFAIT_CONNECT = PARFAIT + "." + CONNECT ;
40
+ public static final String PARFAIT_WRITER_WAIT = PARFAIT + "." + WRITER_WAIT ;
40
41
41
42
private static final String DEFAULT_INTERVAL = "1000" ; // milliseconds
42
43
private static final String DEFAULT_CONNECT = "localhost:9875" ;
44
+ private static final String DEFAULT_WRITER_WAIT_MS = "10000" ;
43
45
44
46
public static String getCommandBasename (String command ) {
45
47
// trim away arguments, produce a generally sanitized basename
@@ -139,6 +141,14 @@ public static String getDefaultConnection() {
139
141
return connect ;
140
142
}
141
143
144
+ public static String getDefaultWriterWait () {
145
+ String writerWait = System .getProperty (PARFAIT_WRITER_WAIT );
146
+ if (writerWait == null || writerWait .isEmpty ()) {
147
+ return DEFAULT_WRITER_WAIT_MS ;
148
+ }
149
+ return writerWait ;
150
+ }
151
+
142
152
public static void setupProperties () {
143
153
String name = getDefaultName (getParfaitName (), getDefaultCommand (), getRuntimeName ());
144
154
System .setProperty (PARFAIT_NAME , name );
@@ -154,6 +164,9 @@ public static void setupProperties() {
154
164
155
165
String connect = getDefaultConnection ();
156
166
System .setProperty (PARFAIT_CONNECT , connect );
167
+
168
+ String writerWait = getDefaultWriterWait ();
169
+ System .setProperty (PARFAIT_WRITER_WAIT , writerWait );
157
170
}
158
171
159
172
//
@@ -174,4 +187,13 @@ public static Long getStartup() {
174
187
public static String getConnection () {
175
188
return System .getProperty (PARFAIT_CONNECT );
176
189
}
190
+
191
+ /**
192
+ * The maximum number of milliseconds to wait for PcpMmvWriter to start when attempting to update a metric.
193
+ *
194
+ * @return maximum number of milliseconds to wait
195
+ */
196
+ public static long getWriterWait () {
197
+ return Long .parseLong (System .getProperty (PARFAIT_WRITER_WAIT ));
198
+ }
177
199
}
0 commit comments