@ConfigClass
public static class Config extends ThrottleableTransport.Config {
@Override
public ConfigurationRequest getRequestedConfiguration() {
final ConfigurationRequest r = super.getRequestedConfiguration();
r.addField(new TextField(
CK_SOURCE,
"Source",
"metrics",
"Define a name of the source. For example 'metrics'.",
ConfigurationField.Optional.NOT_OPTIONAL
));
r.addField(
new NumberField(
CK_REPORT_INTERVAL,
"Report interval",
10,
"Time between each report. Select a time unit in the corresponding dropdown.",
ConfigurationField.Optional.NOT_OPTIONAL,
NumberField.Attribute.ONLY_POSITIVE
)
);
r.addField(
new DropdownField(
CK_REPORT_UNIT,
"Report interval unit",
TimeUnit.SECONDS.toString(),
DropdownField.ValueTemplates.timeUnits(),
ConfigurationField.Optional.NOT_OPTIONAL
)
);
r.addField(
new DropdownField(
CK_DURATION_UNIT,
"Time unit of measured durations",
TimeUnit.MILLISECONDS.toString(),
DropdownField.ValueTemplates.timeUnits(),
"The time unit that will be used in for example timer values. Think of: took 15ms",
ConfigurationField.Optional.NOT_OPTIONAL
)
);
r.addField(
new DropdownField(
CK_RATE_UNIT,
"Time unit of measured rates",
TimeUnit.SECONDS.toString(),
DropdownField.ValueTemplates.timeUnits(),