[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15958837#comment-15958837 ] ASF GitHub Bot commented on METRON-822: --- Github user asfgit closed the pull request at: https://github.com/apache/incubator-metron/pull/509 > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15957205#comment-15957205 ] ASF GitHub Bot commented on METRON-822: --- Github user nickwallen commented on the issue: https://github.com/apache/incubator-metron/pull/509 As a comment on the JIRA itself, I added some details of a performance test showing the probe operating successfully at ~1.1 Gbps. > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15957203#comment-15957203 ] Nick Allen commented on METRON-822: --- h2. Performance Test h3. Test Environment There were two hosts, both Cisco UCS boxes with 10G Cisco VNICs. There is a point-to-point fiber connection between `enp9s0f0` on both hosts. There is also a traditional switched link on `enp10s0f0` connecting these hosts. Packets are generated on y137 on `enp9s0f0` and are then captured on y138 over `enp9s0f0` by Fastcapa. Fastcapa then uses `en10s0f0` to package and send those packets in bulk to Kafka running on y137. h3. Results The following shows the Fastcapa probe capturing ~1.1 Gbps successfully for roughly 10 minutes. All metrics were inline and no significant backlog was created. Effectively, no packets were dropped. The small number shown as a loss are a rounded error and due to some noise on the line caused by a misconfigured NIC. The test was successful. ||Event ||Packet Count||Delta|| | Packets Generated | 126,925,885 | - | | Received @ Fastcapa | 126,926,236 | -351 | | Received @ Kafka| 126,926,235 | ~0 | h3. Steps Create Kakfa Topic with 256 partitions and 1 broker {code} [root@y137 ~]# kafka-topics.sh --zookeeper y137:2181 --create --topic pcap256 --partitions 256 --replication-factor 1 Created topic "pcap256". {code} Count of the number of packets in the topic before the test. The count simply uses the offset. {code} [root@y137 ~]# kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list y137:9092 --topic pcap256 --time -1 | tail -n +2 | awk -F":" '{s+=$3} END {print s}' 0 {code} Start Fastcapa * Rx descriptors limited to 512 due to VNIC * Rx queues limited to 2 due to VNIC * All other parameters as shown in log {code} [root@y138 fastcapa]# fastcapa -l 0,1,2,3,4,5,6,7 --huge-dir /mnt/huge_1GB -- -t pcap256 -c /etc/fastcapa.y137 -r 512 -q 2 -x 32768 EAL: Detected 32 lcore(s) EAL: Probing VFIO support... EAL: PCI device :01:00.0 on NUMA socket 0 EAL: probe driver: 8086:1521 net_e1000_igb EAL: PCI device :01:00.1 on NUMA socket 0 EAL: probe driver: 8086:1521 net_e1000_igb EAL: PCI device :09:00.0 on NUMA socket 0 EAL: probe driver: 1137:43 net_enic PMD: rte_enic_pmd: Advanced Filters not available PMD: rte_enic_pmd: vNIC MAC addr 00:35:1a:cd:6c:ad wq/rq 256/512 mtu 1500, max mtu:9004 PMD: rte_enic_pmd: vNIC csum tx/rx yes/yes rss yes intr mode any type min timer 125 usec loopback tag 0x PMD: rte_enic_pmd: vNIC resources avail: wq 1 rq 4 cq 5 intr 8 EAL: PCI device :0a:00.0 on NUMA socket 0 EAL: probe driver: 1137:43 net_enic [ -t KAFKA_TOPIC ] defined as pcap256 [ -c KAFKA_CONFIG ] defined as /etc/fastcapa.y137 [ -r NB_RX_DESC ] defined as 512 [ -q NB_RX_QUEUE ] defined as 2 [ -x TX_RING_SIZE ] defined as 32768 [ -p PORT_MASK ] undefined; defaulting to 0x01 [ -b BURST_SIZE ] undefined; defaulting to 32 USER1: Initializing port 0 PMD: rte_enic_pmd: Rq 0 Scatter rx mode enabled PMD: rte_enic_pmd: Rq 0 Scatter rx mode not being used PMD: rte_enic_pmd: Using 512 rx descriptors (sop 512, data 0) PMD: rte_enic_pmd: Rq 1 Scatter rx mode enabled PMD: rte_enic_pmd: Rq 1 Scatter rx mode not being used PMD: rte_enic_pmd: Using 512 rx descriptors (sop 512, data 0) PMD: rte_enic_pmd: TX Queues - effective number of descs:32 PMD: rte_enic_pmd: vNIC resources used: wq 1 rq 4 cq 3 intr 0 USER1: Device setup successfully; port=0, mac=00 35 1a cd 6c ad USER1: Launching receive worker; worker=0, core=1, queue=0 USER1: Receive worker started; core=1, socket=0, queue=0 attempts=32 USER1: Launching receive worker; worker=1, core=2, queue=1 USER1: Receive worker started; core=2, socket=0, queue=1 attempts=32 USER1: Launching transmit worker; worker=0, core=3 ring=0 USER1: Launching transmit worker; worker=1, core=4 ring=1 USER1: Transmit worker started; core=3, socket=0 USER1: Transmit worker started; core=4, socket=0 USER1: Launching transmit worker; worker=2, core=5 ring=0 USER1: Launching transmit worker; worker=3, core=6 ring=1 USER1: Transmit worker started; core=5, socket=0 USER1: Launching transmit worker; worker=4, core=7 ring=0 USER1: Transmit worker started; core=6, socket=0 USER1: Starting to monitor workers; core=0, socket=0 USER1: Transmit worker started; core=7, socket=0 - in - --- queued --- - out - drops [nic] 2 - - - [rx]2 - 2 0 [tx]2 - 2 0 [kaf] 2 0 1 0 ... {code} Start packet generator. {code} [root@y137 ~]# time tcpreplay -i enp9s0f0 --loop=0 --stats=5 --preload-pcap --mbps 1100 example.pcap File Cache is enabled Actual: 1055541 packets (687500724 bytes) sent in 5.00 seconds.
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15957145#comment-15957145 ] ASF GitHub Bot commented on METRON-822: --- Github user nickwallen commented on a diff in the pull request: https://github.com/apache/incubator-metron/pull/509#discussion_r109962549 --- Diff: metron-sensors/fastcapa/src/kafka.c --- @@ -21,11 +21,113 @@ #define POLL_TIMEOUT_MS 1000 /* - * data structures required for the kafka client + * Passed to all callback functions to help identify the connection. */ -static rd_kafka_t** kaf_h; -static rd_kafka_topic_t** kaf_top_h; -static int num_conns; +struct opaque { +int conn_id; +}; + +/* + * Data structures required for the kafka client + */ +static rd_kafka_t **kaf_h; +static rd_kafka_topic_t **kaf_top_h; +static unsigned num_conns; +static FILE *stats_fd; +static struct app_stats *kaf_conn_stats; +static struct opaque *kaf_opaque; +static uint64_t *kaf_keys; + +/* + * A callback executed when an error occurs within the kafka client + */ +static void kaf_error_cb (rd_kafka_t *rk, int err, const char *reason, void* UNUSED(opaque)) +{ +LOG_ERROR(USER1, "kafka client unexpected error; conn=%s, error=%s [%s] \n", +rd_kafka_name(rk), rd_kafka_err2str(err), reason); +} + +/* + * A callback executed when a broker throttles the producer + */ +static void kaf_throttle_cb (rd_kafka_t *rk, const char *broker_name, int32_t broker_id, int throttle_time_ms, void* UNUSED(opaque)) +{ +LOG_ERROR(USER1, "kafka client throttle event; conn=%s, time=%dms broker=%s broker_id=%"PRId32" \n", +rd_kafka_name(rk), throttle_time_ms, broker_name, broker_id); +} + +/* + * A callback executed on a fixed frequency (defined by `statistics.interval.ms`) + * that provides detailed performance statistics + */ +static int kaf_stats_cb(rd_kafka_t *rk, char *json, size_t UNUSED(json_len), void *opaque) +{ +int rc; +struct opaque *data = (struct opaque*) opaque; +int conn_id = data->conn_id; + +// update queue depth of this kafka connection +kaf_conn_stats[conn_id].depth = rd_kafka_outq_len(rk); + +// TODO this should be handled by a logging lib that can handle faults and rolling the output file --- End diff -- Created [METRON-828](https://issues.apache.org/jira/browse/METRON-828) to track this. > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15957009#comment-15957009 ] ASF GitHub Bot commented on METRON-822: --- Github user nickwallen commented on a diff in the pull request: https://github.com/apache/incubator-metron/pull/509#discussion_r109944158 --- Diff: metron-sensors/fastcapa/src/args.c --- @@ -84,62 +95,167 @@ int parse_args(int argc, char** argv) // parse arguments to this application argvopt = argv; -while ((opt = getopt_long(argc, argvopt, "p:b:t:c:", lgopts, _index)) != EOF) { +while ((opt = getopt_long(argc, argvopt, "hp:b:t:c:r:q:s:x:", lgopts, _index)) != EOF) { switch (opt) { -// portmask -case 'p': -app.enabled_port_mask = parse_portmask(optarg); -if (app.enabled_port_mask == 0) { -printf("Error: Invalid portmask: '%s'\n", optarg); -print_usage(prgname); +// help +case 'h': +print_usage(); return -1; -} -break; - -// kafka topic -case 't': -app.kafka_topic = strdup(optarg); -if (!valid(app.kafka_topic)) { -printf("Error: Invalid kafka topic: '%s'\n", optarg); -print_usage(prgname); -return -1; -} -break; - -// kafka config path -case 'c': -app.kafka_config_path = strdup(optarg); -if (!valid(app.kafka_config_path) || !file_exists(app.kafka_config_path)) { -printf("Error: Invalid kafka config: '%s'\n", optarg); -print_usage(prgname); -return -1; -} -break; - -default: -printf("Error: Invalid argument: '%s'\n", optarg); -print_usage(prgname); -return -1; -} + +// burst size +case 'b': +app.burst_size = atoi(optarg); +printf("[ -b BURST_SIZE ] defined as %d \n", app.burst_size); + +if(app.burst_size < 1 || app.burst_size > MAX_BURST_SIZE) { +printf("Invalid burst size; burst=%u must be in [1, %u]. \n", app.burst_size, MAX_BURST_SIZE); --- End diff -- Sure, makes sense. > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15957008#comment-15957008 ] ASF GitHub Bot commented on METRON-822: --- Github user nickwallen commented on a diff in the pull request: https://github.com/apache/incubator-metron/pull/509#discussion_r109944087 --- Diff: metron-sensors/fastcapa/src/kafka.c --- @@ -21,11 +21,113 @@ #define POLL_TIMEOUT_MS 1000 /* - * data structures required for the kafka client + * Passed to all callback functions to help identify the connection. */ -static rd_kafka_t** kaf_h; -static rd_kafka_topic_t** kaf_top_h; -static int num_conns; +struct opaque { +int conn_id; +}; + +/* + * Data structures required for the kafka client + */ +static rd_kafka_t **kaf_h; +static rd_kafka_topic_t **kaf_top_h; +static unsigned num_conns; +static FILE *stats_fd; +static struct app_stats *kaf_conn_stats; +static struct opaque *kaf_opaque; +static uint64_t *kaf_keys; + +/* + * A callback executed when an error occurs within the kafka client + */ +static void kaf_error_cb (rd_kafka_t *rk, int err, const char *reason, void* UNUSED(opaque)) +{ +LOG_ERROR(USER1, "kafka client unexpected error; conn=%s, error=%s [%s] \n", +rd_kafka_name(rk), rd_kafka_err2str(err), reason); +} + +/* + * A callback executed when a broker throttles the producer + */ +static void kaf_throttle_cb (rd_kafka_t *rk, const char *broker_name, int32_t broker_id, int throttle_time_ms, void* UNUSED(opaque)) +{ +LOG_ERROR(USER1, "kafka client throttle event; conn=%s, time=%dms broker=%s broker_id=%"PRId32" \n", +rd_kafka_name(rk), throttle_time_ms, broker_name, broker_id); +} + +/* + * A callback executed on a fixed frequency (defined by `statistics.interval.ms`) + * that provides detailed performance statistics + */ +static int kaf_stats_cb(rd_kafka_t *rk, char *json, size_t UNUSED(json_len), void *opaque) +{ +int rc; +struct opaque *data = (struct opaque*) opaque; +int conn_id = data->conn_id; + +// update queue depth of this kafka connection +kaf_conn_stats[conn_id].depth = rd_kafka_outq_len(rk); + +// TODO this should be handled by a logging lib that can handle faults and rolling the output file --- End diff -- Sure > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15956906#comment-15956906 ] ASF GitHub Bot commented on METRON-822: --- Github user cestella commented on a diff in the pull request: https://github.com/apache/incubator-metron/pull/509#discussion_r109919377 --- Diff: metron-sensors/fastcapa/src/kafka.c --- @@ -21,11 +21,113 @@ #define POLL_TIMEOUT_MS 1000 /* - * data structures required for the kafka client + * Passed to all callback functions to help identify the connection. */ -static rd_kafka_t** kaf_h; -static rd_kafka_topic_t** kaf_top_h; -static int num_conns; +struct opaque { +int conn_id; +}; + +/* + * Data structures required for the kafka client + */ +static rd_kafka_t **kaf_h; +static rd_kafka_topic_t **kaf_top_h; +static unsigned num_conns; +static FILE *stats_fd; +static struct app_stats *kaf_conn_stats; +static struct opaque *kaf_opaque; +static uint64_t *kaf_keys; + +/* + * A callback executed when an error occurs within the kafka client + */ +static void kaf_error_cb (rd_kafka_t *rk, int err, const char *reason, void* UNUSED(opaque)) +{ +LOG_ERROR(USER1, "kafka client unexpected error; conn=%s, error=%s [%s] \n", +rd_kafka_name(rk), rd_kafka_err2str(err), reason); +} + +/* + * A callback executed when a broker throttles the producer + */ +static void kaf_throttle_cb (rd_kafka_t *rk, const char *broker_name, int32_t broker_id, int throttle_time_ms, void* UNUSED(opaque)) +{ +LOG_ERROR(USER1, "kafka client throttle event; conn=%s, time=%dms broker=%s broker_id=%"PRId32" \n", +rd_kafka_name(rk), throttle_time_ms, broker_name, broker_id); +} + +/* + * A callback executed on a fixed frequency (defined by `statistics.interval.ms`) + * that provides detailed performance statistics + */ +static int kaf_stats_cb(rd_kafka_t *rk, char *json, size_t UNUSED(json_len), void *opaque) +{ +int rc; +struct opaque *data = (struct opaque*) opaque; +int conn_id = data->conn_id; + +// update queue depth of this kafka connection +kaf_conn_stats[conn_id].depth = rd_kafka_outq_len(rk); + +// TODO this should be handled by a logging lib that can handle faults and rolling the output file --- End diff -- Can we have a JIRA created on this? > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15956907#comment-15956907 ] ASF GitHub Bot commented on METRON-822: --- Github user cestella commented on a diff in the pull request: https://github.com/apache/incubator-metron/pull/509#discussion_r109923278 --- Diff: metron-sensors/fastcapa/src/args.c --- @@ -84,62 +95,167 @@ int parse_args(int argc, char** argv) // parse arguments to this application argvopt = argv; -while ((opt = getopt_long(argc, argvopt, "p:b:t:c:", lgopts, _index)) != EOF) { +while ((opt = getopt_long(argc, argvopt, "hp:b:t:c:r:q:s:x:", lgopts, _index)) != EOF) { switch (opt) { -// portmask -case 'p': -app.enabled_port_mask = parse_portmask(optarg); -if (app.enabled_port_mask == 0) { -printf("Error: Invalid portmask: '%s'\n", optarg); -print_usage(prgname); +// help +case 'h': +print_usage(); return -1; -} -break; - -// kafka topic -case 't': -app.kafka_topic = strdup(optarg); -if (!valid(app.kafka_topic)) { -printf("Error: Invalid kafka topic: '%s'\n", optarg); -print_usage(prgname); -return -1; -} -break; - -// kafka config path -case 'c': -app.kafka_config_path = strdup(optarg); -if (!valid(app.kafka_config_path) || !file_exists(app.kafka_config_path)) { -printf("Error: Invalid kafka config: '%s'\n", optarg); -print_usage(prgname); -return -1; -} -break; - -default: -printf("Error: Invalid argument: '%s'\n", optarg); -print_usage(prgname); -return -1; -} + +// burst size +case 'b': +app.burst_size = atoi(optarg); +printf("[ -b BURST_SIZE ] defined as %d \n", app.burst_size); + +if(app.burst_size < 1 || app.burst_size > MAX_BURST_SIZE) { +printf("Invalid burst size; burst=%u must be in [1, %u]. \n", app.burst_size, MAX_BURST_SIZE); --- End diff -- Can we send this to stderr? > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15955772#comment-15955772 ] ASF GitHub Bot commented on METRON-822: --- Github user nickwallen commented on the issue: https://github.com/apache/incubator-metron/pull/509 The additional commits are showing up as Github is out-of-sync with Apache. That should clear-up once they sync back up. > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (METRON-822) Improve Fastcapa Performance
[ https://issues.apache.org/jira/browse/METRON-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15955771#comment-15955771 ] ASF GitHub Bot commented on METRON-822: --- GitHub user nickwallen opened a pull request: https://github.com/apache/incubator-metron/pull/509 METRON-822 Improve Fastcapa Performance This PR contains significant improvements to the performance and scalability of Fastcapa. * Previously the 'distributor' framework was used. This did not scale well and has been replaced with a burst-oriented design. * Receive and transmission functions have been separated to allow each to scale independently. * Additional parameters have been added to allow the process to be tuned easily. * Output provides basic transparency into the current state of processing. * If the probe is overwhelmed with more packets than can be handled, it will continue processing the packets that it can without crashing. * The fact that packets are being dropped is very clear. * A great deal of documentation has been added to the README. This change has been tested on Cisco UCS hardware with a 10G Cisco VNIC. The probe was able to capture 1 gbps before packets started to drop. Additional performance tuning would push this ceiling much higher, but for my purposes, I just needed to reach 1 gbps. Additional work will proceed in the future to find its true performance ceiling. To test the change yourself, simply spin-up the virtualized test environment which will deploy and validate that Fastcapa can land packets in Kafka correctly. ``` cd metron-deployment/vagrant/fastcapa-test-environment vagrant up ``` ## Pull Request Checklist ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? - [ ] Does your PR title start with METRON-? - [ ] Has your PR been rebased against the latest commit within the target branch? ### For code changes: - [ ] Have you included steps to reproduce the behavior or problem that is being changed or addressed? - [ ] Have you included steps or a guide to how the change may be verified and tested manually? - [ ] Have you ensured that the full suite of tests and checks have been executed in the root incubating-metron folder via: - [ ] Have you written or updated unit tests and or integration tests to verify your changes? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent? You can merge this pull request into a Git repository by running: $ git pull https://github.com/nickwallen/incubator-metron METRON-822 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-metron/pull/509.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 #509 commit 34614cc9006a77826ed729f2c8a40f99bd84d4b4 Author: dlyle65535Date: 2017-04-04T12:15:42Z METRON-196 Deployment Fails Without Ansible 2.0.0.2 closes apache/incubator-metron#499 commit fccb67aecca199d7aebd14b16debff4bf16f8acd Author: KunalAggarwal Date: 2017-04-04T16:14:23Z METRON-808: Amazon EC2 deployment fails at Expanding Volume Step (KunalAggarwal via mmiklavc) closes apache/incubator-metron#496 commit 6410229e6a6a031f470d01ced2eb316d43bae29a Author: Nick Allen Date: 2017-03-21T17:51:55Z METRON-822 Improve Fastcapa Performance > Improve Fastcapa Performance > > > Key: METRON-822 > URL: https://issues.apache.org/jira/browse/METRON-822 > Project: Metron > Issue Type: Improvement >Reporter: Nick Allen >Assignee: Nick Allen > > Improve the performance and scalability of the Fastcapa probe. -- This message was sent by Atlassian JIRA (v6.3.15#6346)