@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(), "The time unit that will be used in for example meter values. Think of: 7 per second", ConfigurationField.Optional.NOT_OPTIONAL)); return r; }