@Property( name = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_NAME_NUMBER_OF_ENTRIES, defaultValue = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_VALUE_NUMBER_OF_ENTRIES, description = "Sets the number of max plot entries per cpu"), @Property(name = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_NAME_DISPLAY_WARNING_INTERVALS, defaultValue = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_VALUE_DISPLAY_WARNING_INTERVALS) }) public class CPUUtilizationDisplayFilter extends AbstractFilterPlugin {
/** * This method delivers an instance of {@code Configuration} containing the default properties for this class. * * @return The default properties. */ @Override protected final Configuration getDefaultConfiguration() { final Configuration defaultConfiguration = new Configuration(); // Get the annotation from the class final Repository repoAnnotation = this.getClass().getAnnotation(Repository.class); final Property[] propertyAnnotations = repoAnnotation.configuration(); // Run through all properties within the annotation and add them to the configuration object for (final Property property : propertyAnnotations) { defaultConfiguration.setProperty(property.name(), property.defaultValue()); } return defaultConfiguration; }
/** * Checks whether the property with the given name is marked as updateable. * * @param propertyName * Name of the property to check * @return true if marked as updateable, else false. */ public boolean isPropertyUpdateable(final String propertyName) { final Plugin pluginAnnotations = this.getClass().getAnnotation(Plugin.class); final Property[] properties = pluginAnnotations.configuration(); final List<Property> propertyList = Arrays.asList(properties); for (final Property p : propertyList) { if (p.name().equals(propertyName)) { return p.updateable(); } } return false; }
possibleKeys.add(property.name());
possibleKeys.add(property.name());
@Property( name = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_NAME_NUMBER_OF_ENTRIES, defaultValue = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_VALUE_NUMBER_OF_ENTRIES, description = "Sets the number of max plot entries per cpu"), @Property(name = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_NAME_DISPLAY_WARNING_INTERVALS, defaultValue = CPUUtilizationDisplayFilter.CONFIG_PROPERTY_VALUE_DISPLAY_WARNING_INTERVALS) }) public class CPUUtilizationDisplayFilter extends AbstractFilterPlugin {
/** * This method provides the default properties, as supplied by the annotation. * * @return The default configuration. */ private final Configuration getDefaultConfiguration() { final Configuration defaultConfiguration = new Configuration(); // Get the (potential) annotation of our class final kieker.analysis.annotation.AnalysisController annotation = this.getClass().getAnnotation(kieker.analysis.annotation.AnalysisController.class); if (null != annotation) { // Run through the available properties and put them into our configuration for (final Property property : annotation.configuration()) { defaultConfiguration.setProperty(property.name(), property.defaultValue()); } } return defaultConfiguration; }
/** * Checks whether the property with the given name is marked as updateable. * * @param propertyName * Name of the property to check * @return true if marked as updateable, else false. */ public boolean isPropertyUpdateable(final String propertyName) { final Plugin pluginAnnotations = this.getClass().getAnnotation(Plugin.class); final Property[] properties = pluginAnnotations.configuration(); final List<Property> propertyList = Arrays.asList(properties); for (final Property p : propertyList) { if (p.name().equals(propertyName)) { return p.updateable(); } } return false; }
private boolean isConfigurationCorrect(final Class<?> clazz) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { final IAnalysisController ac = new AnalysisController(); final AbstractPlugin pluginInstance = (AbstractPlugin) clazz.getConstructor(Configuration.class, IProjectContext.class).newInstance(new Configuration(), ac); final Property[] expectedProperties = this.getExpectedProperties(clazz); final Configuration actualConfiguration = this.getActualProperties(pluginInstance); for (final Property property : expectedProperties) { if (!(actualConfiguration.containsKey(property.name()))) { return false; } } return true; }
}, configuration = { @Property(name = KafkaReader.CONFIG_PROPERTY_TOPIC_NAME, defaultValue = "kiekerRecords", description = "Name of the Kafka topic to read the records from"), @Property(name = KafkaReader.CONFIG_PROPERTY_BOOTSTRAP_SERVERS, defaultValue = "localhost:9092", description = "Bootstrap servers for the Kafka cluster"), @Property(name = KafkaReader.CONFIG_PROPERTY_GROUP_ID, defaultValue = "kieker", description = "Group ID for the Kafka consumer group"), @Property(name = KafkaReader.CONFIG_PROPERTY_AUTO_COMMIT, defaultValue = "true", description = "Auto-commit the current position?"), @Property(name = KafkaReader.CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS, defaultValue = "1000", description = "Auto commit interval in milliseconds"), @Property(name = KafkaReader.CONFIG_PROPERTY_SESSION_TIMEOUT_MS, defaultValue = "30000", description = "Session timeout interval in milliseconds")
/** * This method delivers an instance of {@code Configuration} containing the default properties for this class. * * @return The default properties. */ @Override protected final Configuration getDefaultConfiguration() { final Configuration defaultConfiguration = new Configuration(); // Get the annotation from the class final Repository repoAnnotation = this.getClass().getAnnotation(Repository.class); final Property[] propertyAnnotations = repoAnnotation.configuration(); // Run through all properties within the annotation and add them to the configuration object for (final Property property : propertyAnnotations) { defaultConfiguration.setProperty(property.name(), property.defaultValue()); } return defaultConfiguration; }
description = "Generic plugin for writing graphs to files", configuration = { @Property(name = GraphWriterPlugin.CONFIG_PROPERTY_NAME_INCLUDE_WEIGHTS, defaultValue = "true"), @Property(name = GraphWriterPlugin.CONFIG_PROPERTY_NAME_SHORTLABELS, defaultValue = "true"), @Property(name = GraphWriterPlugin.CONFIG_PROPERTY_NAME_SELFLOOPS, defaultValue = "false") }) public class GraphWriterPlugin extends AbstractFilterPlugin {
/** * This method delivers an instance of {@code Configuration} containing the default properties for this class. * * @return The default properties. */ @Override protected final Configuration getDefaultConfiguration() { final Configuration defaultConfiguration = new Configuration(); // Get the annotation from the class final Plugin pluginAnnotation = this.getClass().getAnnotation(Plugin.class); final Property[] propertyAnnotations = pluginAnnotation.configuration(); // Run through all properties within the annotation and add them to the configuration object for (final Property property : propertyAnnotations) { defaultConfiguration.setProperty(property.name(), property.defaultValue()); } return defaultConfiguration; }
@Property(name = GraphWriterPlugin.CONFIG_PROPERTY_NAME_INCLUDE_WEIGHTS, defaultValue = "true"), @Property(name = GraphWriterPlugin.CONFIG_PROPERTY_NAME_SHORTLABELS, defaultValue = "true"), @Property(name = GraphWriterPlugin.CONFIG_PROPERTY_NAME_SELFLOOPS, defaultValue = "false") }) public class GraphWriterPlugin extends AbstractFilterPlugin {
/** * This method delivers an instance of {@code Configuration} containing the default properties for this class. * * @return The default properties. */ @Override protected final Configuration getDefaultConfiguration() { final Configuration defaultConfiguration = new Configuration(); // Get the annotation from the class final Plugin pluginAnnotation = this.getClass().getAnnotation(Plugin.class); final Property[] propertyAnnotations = pluginAnnotation.configuration(); // Run through all properties within the annotation and add them to the configuration object for (final Property property : propertyAnnotations) { defaultConfiguration.setProperty(property.name(), property.defaultValue()); } return defaultConfiguration; }
}, configuration = { @Property(name = KafkaReader.CONFIG_PROPERTY_TOPIC_NAME, defaultValue = "kiekerRecords", description = "Name of the Kafka topic to read the records from"), @Property(name = KafkaReader.CONFIG_PROPERTY_BOOTSTRAP_SERVERS, defaultValue = "localhost:9092", description = "Bootstrap servers for the Kafka cluster"), @Property(name = KafkaReader.CONFIG_PROPERTY_GROUP_ID, defaultValue = "kieker", description = "Group ID for the Kafka consumer group"), @Property(name = KafkaReader.CONFIG_PROPERTY_AUTO_COMMIT, defaultValue = "true", description = "Auto-commit the current position?"), @Property(name = KafkaReader.CONFIG_PROPERTY_AUTO_COMMIT_INTERVAL_MS, defaultValue = "1000", description = "Auto commit interval in milliseconds"), @Property(name = KafkaReader.CONFIG_PROPERTY_SESSION_TIMEOUT_MS, defaultValue = "30000", description = "Session timeout interval in milliseconds")
/** * This method provides the default properties, as supplied by the annotation. * * @return The default configuration. */ private final Configuration getDefaultConfiguration() { final Configuration defaultConfiguration = new Configuration(); // Get the (potential) annotation of our class final kieker.analysis.annotation.AnalysisController annotation = this.getClass().getAnnotation(kieker.analysis.annotation.AnalysisController.class); if (null != annotation) { // Run through the available properties and put them into our configuration for (final Property property : annotation.configuration()) { defaultConfiguration.setProperty(property.name(), property.defaultValue()); } } return defaultConfiguration; }
@OutputPort(name = RealtimeRecordDelayFilter.OUTPUT_PORT_NAME_RECORDS, eventTypes = { IMonitoringRecord.class }, description = "Outputs the delayed records") }, configuration = { @Property(name = RealtimeRecordDelayFilter.CONFIG_PROPERTY_NAME_NUM_WORKERS, defaultValue = "1"), @Property(name = RealtimeRecordDelayFilter.CONFIG_PROPERTY_NAME_ADDITIONAL_SHUTDOWN_DELAY_SECONDS, defaultValue = "5"), @Property(name = RealtimeRecordDelayFilter.CONFIG_PROPERTY_NAME_WARN_NEGATIVE_DELAY_SECONDS, defaultValue = "2"), @Property(name = RealtimeRecordDelayFilter.CONFIG_PROPERTY_NAME_TIMER, defaultValue = "MILLISECONDS"), @Property(name = RealtimeRecordDelayFilter.CONFIG_PROPERTY_NAME_ACCELERATION_FACTOR, defaultValue = "1") // CONFIG_PROPERTY_ACCELERATION_FACTOR_DEFAULT }) public class RealtimeRecordDelayFilter extends AbstractFilterPlugin {
@OutputPort(name = AmqpReader.OUTPUT_PORT_NAME_RECORDS, eventTypes = { IMonitoringRecord.class }, description = "Output port of the AMQP reader") }, configuration = { @Property(name = AmqpReader.CONFIG_PROPERTY_URI, defaultValue = "amqp://localhost", description = "Server URI of the AMQP server"), @Property(name = AmqpReader.CONFIG_PROPERTY_QUEUENAME, defaultValue = "kieker", description = "AMQP queue name"), @Property(name = AmqpReader.CONFIG_PROPERTY_HEARTBEAT, defaultValue = "60", description = "Heartbeat interval (in seconds)"), @Property(name = AmqpReader.CONFIG_PROPERTY_CACHE_DURATION, defaultValue = "60", description = "Cache duration (in seconds) for string registries")
@Property(name = AnomalyScoreVisualizationFilter.CONFIG_PROPERTY_NAME_NUMBER_OF_ENTRIES, defaultValue = AnomalyScoreVisualizationFilter.CONFIG_PROPERTY_VALUE_NUMBER_OF_ENTRIES) }) public class AnomalyScoreVisualizationFilter extends AbstractFilterPlugin {