[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user rickysaltzer commented on the pull request: https://github.com/apache/nifi/pull/188#issuecomment-212058991 My apologies, @joewitt, I've been out of the country on vacation for the past few months. I have this patch deployed on a test application that I am building so I will keep an eye on it. I don't mind focusing on this for a future release, though. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on the pull request: https://github.com/apache/nifi/pull/188#issuecomment-211702845 @rickysaltzer Looks like there might be a lack of time to focus on this at this time. How do you feel about closing this PR down for now and revisiting later? --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on the pull request: https://github.com/apache/nifi/pull/188#issuecomment-198151066 @rickysaltzer hey there. I just realized that this does have a commit against it post review commentary. My apologies for not engaging. Do you happen to be using this consistently/etc.. and are getting good results/like how it is working? I ask because the value of my own review will be fairly superficial and just want to make sure we have someone with good experience using it that is liking it (even if that is the author of it :)) --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user rickysaltzer commented on the pull request: https://github.com/apache/nifi/pull/188#issuecomment-198464162 hey @joewitt - not an issue. I haven't actually put this patch into production yet, but I have a good use case to try it out today / over the weekend. Let me give that a shot and report my findings. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user rickysaltzer commented on the pull request: https://github.com/apache/nifi/pull/188#issuecomment-176812870 Thanks @joewitt - I'll take a look either today or tomorrow. Yep, post 0.5.0 seems more than likely to get this in good shape. Thanks again --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51226391 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-nar/pom.xml --- @@ -1,34 +1,40 @@ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> -4.0.0 - -nifi-riemann-bundle -org.apache.nifi -0.4.2-SNAPSHOT - + +nifi-riemann-bundle +org.apache.nifi +0.4.2-SNAPSHOT + + 4.0.0 -nifi-riemann-nar -nar - - -org.apache.nifi -nifi-riemann-processors - - + nifi-riemann-nar + nar + + + org.apache.nifi + nifi-riemann-processors + ${project.version} + + + org.apache.nifi + nifi-riemann-reporting-task + ${project.version} --- End diff -- Strong recommend not using ${project.version}. Has been unreliable in the release process in the past. Recommend simply using the 0.4.2-SNAPSHOT. These get handled seamlessly during the release cycle. Also recommend not declaring the versions here but rather in the bundle/pom.xml in a dependency management section and here simply pulling that dependency but without version. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51226519 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import com.google.common.collect.ImmutableList; --- End diff -- appears to be an unused import --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51226675 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import com.google.common.collect.ImmutableList; +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +private static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +private static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +private static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +private static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +private static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +private static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51226918 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import com.google.common.collect.ImmutableList; +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +private static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +private static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +private static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +private static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +private static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +private static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user joewitt commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51227063 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/metrics/MetricsService.java --- @@ -0,0 +1,388 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann.metrics; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.controller.status.ProcessGroupStatus; +import org.apache.nifi.controller.status.ProcessorStatus; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.riemann.attributes.AttributeNames; + +import com.aphyr.riemann.Proto; +import com.google.common.base.Joiner; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +public class MetricsService { +public final static Joiner SEP = Joiner.on('.'); +private final String servicePrefix; +private final Collection serviceTags; +private final String hostName; +private MapadditionalAttributes = Maps.newHashMap(); --- End diff -- should be final and ideally populated by the constructor --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user olegz commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51007338 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +public static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +public static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +public static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +static final PropertyDescriptor TAGS = new
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user olegz commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51010766 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +public static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +public static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +public static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +static final PropertyDescriptor TAGS = new
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user olegz commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51005574 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +public static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +public static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +public static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) --- End diff -- Just curious if there is a reason for these properties not being public? More of a consistency question, no big deal. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user rickysaltzer commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51010255 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +public static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +public static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +public static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +static final PropertyDescriptor TAGS = new
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user olegz commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51006207 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +public static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +public static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +public static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +static final PropertyDescriptor TAGS = new
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
Github user olegz commented on a diff in the pull request: https://github.com/apache/nifi/pull/188#discussion_r51008302 --- Diff: nifi-nar-bundles/nifi-riemann-bundle/nifi-riemann-reporting-task/src/main/java/org/apache/nifi/reporting/riemann/RiemannReportingTask.java --- @@ -0,0 +1,244 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.reporting.riemann; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.apache.nifi.annotation.behavior.DynamicProperty; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.lifecycle.OnStopped; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.controller.ConfigurationContext; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.Bulletin; +import org.apache.nifi.reporting.BulletinQuery; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.riemann.metrics.MetricsService; + +import com.aphyr.riemann.Proto; +import com.aphyr.riemann.client.IPromise; +import com.aphyr.riemann.client.RiemannClient; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.yammer.metrics.core.VirtualMachineMetrics; + +@Tags({ "reporting", "riemann", "metrics" }) +@DynamicProperty(name = "Attribute Name", value = "Attribute Value", supportsExpressionLanguage = false, +description = "Additional attributes may be attached to the event by adding dynamic properties") +@CapabilityDescription("Publish NiFi metrics to Riemann. These metrics include " + "JVM, Processor, and General Data Flow metrics. In addition, you may also forward bulletin " + "board messages.") +public class RiemannReportingTask extends AbstractReportingTask { +public static final PropertyDescriptor RIEMANN_HOST = new PropertyDescriptor.Builder().name("Riemann Address").description("Hostname of Riemann server").required(true) +.addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor RIEMANN_PORT = new PropertyDescriptor.Builder().name("Riemann Port").description("Port that Riemann is listening on").required(true).defaultValue("") +.addValidator(StandardValidators.PORT_VALIDATOR).build(); +public static final PropertyDescriptor TRANSPORT_PROTOCOL = new PropertyDescriptor.Builder().name("Transport Protocol").description("Transport protocol to speak to Riemann in").required(true) +.allowableValues(new Transport[] { Transport.TCP, Transport.UDP }).defaultValue("TCP").build(); +public static final PropertyDescriptor SERVICE_PREFIX = new PropertyDescriptor.Builder().name("Prefix for Service Name").description("Prefix to use when reporting to Riemann").defaultValue("nifi") + .required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +public static final PropertyDescriptor WRITE_TIMEOUT = new PropertyDescriptor.Builder().name("Timeout").description("Timeout in milliseconds when writing events to Riemann").required(true) + .defaultValue("500ms").addValidator(StandardValidators.TIME_PERIOD_VALIDATOR).build(); +static final PropertyDescriptor HOSTNAME = new PropertyDescriptor.Builder().name("Hostname").description("The Hostname of this NiFi instance to report to Riemann").required(true) + .expressionLanguageSupported(true).defaultValue("${hostname(true)}").addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build(); +static final PropertyDescriptor TAGS = new
[GitHub] nifi pull request: NIFI-1337: Add Riemann Reporting Task
GitHub user rickysaltzer opened a pull request: https://github.com/apache/nifi/pull/188 NIFI-1337: Add Riemann Reporting Task New reporting task for publishing metrics to Riemann. You may enable or disable forwarding the following type of events: - JVM - Processor/Processor Group - Overal Data Flow - Bulleting Board Messages You can merge this pull request into a Git repository by running: $ git pull https://github.com/rickysaltzer/nifi riemann-reporting-task Alternatively you can review and apply these changes as the patch at: https://github.com/apache/nifi/pull/188.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #188 commit e0856021b52fd77f6af2aae404450555981f30ce Author: rickyDate: 2016-01-04T15:57:52Z NIFI-1337: Add Riemann Reporting Task New reporting task for publishing metrics to Riemann. You may enable or disable forwarding the following type of events: - JVM - Processor/Processor Group - Overal Data Flow - Bulleting Board Messages --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---