[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188245#comment-16188245 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188240#comment-16188240 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user asfgit closed the pull request at: https://github.com/apache/nifi-minifi-cpp/pull/134 > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188234#comment-16188234 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188236#comment-16188236 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188235#comment-16188235 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188237#comment-16188237 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188247#comment-16188247 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188243#comment-16188243 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188242#comment-16188242 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188239#comment-16188239 ] ASF subversion and git services commented on MINIFICPP-36: -- Commit 9f161a27e5fa0ea9aac4d59d1c23edbad3d77858 in nifi-minifi-cpp's branch refs/heads/master from Marc Parisi [ https://git-wip-us.apache.org/repos/asf?p=nifi-minifi-cpp.git;h=9f161a2 ] MINIFI-339: Add C2 base allowing for 1 protocol and n heartbeat reporters MINIFI-339: Add GetTCP Processor MINIFI-339: Add listener server MINIFI-339: Update to listener MINIFI-339: Resolve Issue with stack based processor nodes losing scope MINIFI-369: Update ListenHTTP processor to allow transfer encoding MINIFI-339: Update rest receiver instantiation and fix issue found in GetFile MINIFI-339: Rename content to operational arguments MINIFI-371: remove virtual destructors when not needed MINIFI-339: Fixing issues with GetTCP MINIFI-378: Resolve issues with shutdown. Took the approach to call notifyStop at the destructor to avoid larger changes MINIFI-339: Allow C2 to be disabled This closes #134. Signed-off-by: Aldrin Piri > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188212#comment-16188212 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user apiri commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/134 License, code, and functionality looks good. Build and operation functions as expected over an extended run time over the weekend. Will get this beast of a PR merged in. > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186337#comment-16186337 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user apiri commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/134 reviewing > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186119#comment-16186119 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user minifirocks commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/134 @phrocker looks good @apiri please review and let me know whether you need me to merge the same. > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186098#comment-16186098 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user phrocker commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/134#discussion_r141920195 --- Diff: libminifi/include/c2/C2Agent.h --- @@ -0,0 +1,203 @@ +/** + * + * 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. + */ +#ifndef LIBMINIFI_INCLUDE_C2_C2AGENT_H_ +#define LIBMINIFI_INCLUDE_C2_C2AGENT_H_ + +#include +#include +#include +#include +#include +#include +#include "core/state/UpdateController.h" +#include "core/state/metrics/MetricsBase.h" +#include "C2Payload.h" +#include "C2Protocol.h" +#include "io/validation.h" +#include "protocols/Protocols.h" + +namespace org { +namespace apache { +namespace nifi { +namespace minifi { +namespace c2 { + +/** + * Purpose and Justification: C2 agent will be the mechanism that will abstract the protocol to do the work. + * + * The protocol represents a transformation layer into the objects seen in C2Payload. That transformation may + * be minimal or extreme, depending on the protocol itself. + * + * Metrics Classes defined here: + * + * 0 HeartBeat -- RESERVED + * 1-255 Defined by the configuration file. + */ +class C2Agent : public state::UpdateController, public state::metrics::MetricsSink, public std::enable_shared_from_this { + public: + + C2Agent(const std::shared_ptr &controller, + const std::shared_ptr &updateSink, + const std::shared_ptr &configure); + + virtual ~C2Agent() { + + } + + /** + * Sends the heartbeat to ths server. Will include metrics + * in the payload if they exist. + */ + void performHeartBeat(); + + virtual std::vector> getFunctions() { +return functions_; + } + + /** + * Sets the metric within this sink + * @param metric metric to set + * @param return 0 on success, -1 on failure. + */ + virtual int16_t setMetrics(const std::shared_ptr &metric); + + protected: + + /** + * Configure the C2 agent + */ + void configure(const std::shared_ptr &configure, bool reconfigure = true); + + /** + * Serializes metrics into a payload. + * @parem parent_paylaod parent payload into which we insert the newly generated payload. + * @param name name of this metric + * @param metrics metrics to include. + */ + void serializeMetrics(C2Payload &parent_payload, const std::string &name, const std::vector &metrics); + + /** + * Extract the payload + * @param resp payload to be moved into the function. + */ + void extractPayload(const C2Payload &&resp); + + /** + * Extract the payload + * @param payload reference. + */ + void extractPayload(const C2Payload &resp); + + /** + * Enqueues a C2 server response for us to evaluate and parse. + */ + void enqueue_c2_server_response(C2Payload &&resp) { +std::lock_guard lock(queue_mutex); +responses.push_back(std::move(resp)); --- End diff -- We want to maintain ordering, which can't be guaranteed with a lock free queue. > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private element
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16173694#comment-16173694 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user phrocker commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/134 @achristianson It slipped my mind but was hoping to get ideas on what to do when we have an invalid c2 configuration. C2 is a local element too, so at some point we'll have scripts that leverage this capability to perform local operations, so I imagine we'll always have C2 running ( which was the plan ) but the in the event that a protocol isn't properly configured i.e. no URL we should disable that protocol entirely. thoughts? Disabling the command and control element entirely seems antithetical to command and control especially since we want local capabilities, but not trying the protocol if it didn't fully initialize is advantageous and something I completely forgot. Thoughts on that? > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16173690#comment-16173690 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user achristianson commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/134 One more thing that struck me during testing: it seems broken that we attempt to periodically send heartbeats when c2 has not been configured. Would it be possible to not attempt heartbeats if a c2 server is not set, or otherwise add a config flag to enable/disable c2? > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16173163#comment-16173163 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user phrocker commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/134#discussion_r139965480 --- Diff: libminifi/include/core/Processor.h --- @@ -212,19 +217,35 @@ class Processor : public Connectable, public ConfigurableComponent, public std:: public: // OnTrigger method, implemented by NiFi Processor Designer + virtual void onTrigger(std::shared_ptr context, std::shared_ptr session){ +onTrigger(context.get(),session.get()); + } virtual void onTrigger(ProcessContext *context, ProcessSession *session) = 0; // Initialize, overridden by NiFi Process Designer virtual void initialize() { } // Scheduled event hook, overridden by NiFi Process Designer + virtual void onSchedule(std::shared_ptr context, std::shared_ptr sessionFactory){ +onSchedule(context.get(),sessionFactory.get()); + } virtual void onSchedule(ProcessContext *context, ProcessSessionFactory *sessionFactory) { } // Check all incoming connections for work bool isWorkAvailable(); + void setStreamFactory(std::shared_ptr stream_factory) { --- End diff -- There is a use case in the event that C2 were to change the communication mechanism and only the communication mechanism we can do that without updating the entire flow. That can be tantamount to changing from TLS to non secure sockets or vice versa if the need arises. I didn't include those capabilities in this PR but played with it...and that's something we should discuss globally. That may not be a capability we want to support, but it's one that was previously discussed. > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (MINIFICPP-36) Begin building controlling API to facilitate control of agents
[ https://issues.apache.org/jira/browse/MINIFICPP-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171761#comment-16171761 ] ASF GitHub Bot commented on MINIFICPP-36: - Github user phrocker commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/134#discussion_r139702066 --- Diff: libminifi/include/core/Processor.h --- @@ -153,7 +154,8 @@ class Processor : public Connectable, public ConfigurableComponent, public std:: } // decrement Active Task Counts void decrementActiveTask(void) { -active_tasks_--; +if (active_tasks_ > 0) + active_tasks_--; --- End diff -- Since the input ( stop command for example ) is user provided, this is only a protection. Decrement only occurs when an exception occurs during on trigger. If this happens just after unschedule occurs ( and the active tasks is set to 0 ) then we could arrive at -1. I didn't want to impose additional locking. Not ideal, and this can be solved more elegantly by not decrementing active tasks during an exception since the number isn't currently important ( just that tasks > 0 )...but I did not want to make additional changes here. > Begin building controlling API to facilitate control of agents > -- > > Key: MINIFICPP-36 > URL: https://issues.apache.org/jira/browse/MINIFICPP-36 > Project: NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: marco polo >Assignee: marco polo >Priority: Critical > Labels: Durability, Reliability, Statistics > > Begin building the controlling API in MiNiFi C++. This API will evolve and > likely have public and private elements. As development progresses we may > want more capabilities. > What I want to create as a straw man will be basic control and metrics > gathering > -- Start > -- Stop > -- Pause > -- Gather metrics >** Throughput of of flow components >** Execution time ( run time minus sleep time ) >** Memory consumption > -- Drain repositories > -- Switch repository types. > Better employ update listener within this controlling API -- This message was sent by Atlassian JIRA (v6.4.14#64029)