Hello All,
I am trying to get a performance benchmark for what size load my server can
handle. Currently we are running 3 nodes each with the following
configuration: 4 CPUs, 30.5GB RAM, and 80GB SSD.
Additionally, we are currently using an example XML file from online
(attached).
First off, would anyone have a good idea of a sample load profile that
would give a good baseline of how much my setup can handle? Secondly, would
anyone suggest a different XML file to use for a bench marking test (this
one was just found online).
In my search thus far I have not found any documentation on an example load
profile for a given configuration, so it would perhaps be helpful to others
in the future to have this formally documented. As well as adding a good
sample XML file for getting some benchmark data.
Any advice would be great!
Thanks,
James
<?xml version="1.0" ?>
<template>
<description>Generate Vehicle Location Simulator
Extract Key Attributes From FlowFiles
Filter Attribute Values To JSON File</description>
<groupId>b0c3a15a-015b-1000-055d-045ba4f17f62</groupId>
<name>Lab1-NiFi-Learn-Ropes</name>
<snippet>
<connections>
<id>86c63594-dad3-43e3-9e25-1266bb6fcd97</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>5c6f1081-e723-4e5f-ae4f-ca82fc584347</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>matched</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>3debd237-c712-4b9c-a04e-0c1437593725</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>a164cb83-3404-49d2-bf85-a923b997f1de</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>72551eb3-1a95-446f-beb1-82ba4fb34eab</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>7c2a9f28-7f64-45dc-b54b-44df1d77e831</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>cf862852-94eb-4912-87c6-d5cfa22ef69e</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>201f7f72-668b-4025-9ade-8149747058b8</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>d42c9c5c-4664-4a47-8997-4b4a7f5b7258</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>d18d29df-631c-492a-b9a0-82bfaa24abc2</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>1e1a4b48-9cf6-46b6-a751-4df9c66337d4</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>matched</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>775802b2-20b0-47d7-a4da-e2bb9c624363</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>db358e7e-5da0-47a3-9a14-61d86edd198e</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>9a9ce404-7014-43bf-afe6-0f8d0d576b84</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>split</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>5c6f1081-e723-4e5f-ae4f-ca82fc584347</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f23d75ef-ad2d-4615-9295-ca6ccad258e2</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>7c2a9f28-7f64-45dc-b54b-44df1d77e831</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>872ad950-0467-46a2-be82-84789f091ab2</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>f6cc505b-b140-45dc-98d5-d9105f7c5718</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>2d27627f-3de2-432b-9ffb-40eb29f0eb86</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>merged</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>201f7f72-668b-4025-9ade-8149747058b8</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>fcec925f-c4aa-45be-8256-6a75b1671312</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>775802b2-20b0-47d7-a4da-e2bb9c624363</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>9a9ce404-7014-43bf-afe6-0f8d0d576b84</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>0dce6311-38bb-4d89-acf5-18d7643bffdd</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>3debd237-c712-4b9c-a04e-0c1437593725</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>success</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>72551eb3-1a95-446f-beb1-82ba4fb34eab</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<connections>
<id>3547f1f5-9f7e-4105-8dd0-2e6b66eca896</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold>
<backPressureObjectThreshold>0</backPressureObjectThreshold>
<destination>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>d42c9c5c-4664-4a47-8997-4b4a7f5b7258</id>
<type>PROCESSOR</type>
</destination>
<flowFileExpiration>0 sec</flowFileExpiration>
<labelIndex>1</labelIndex>
<name></name>
<selectedRelationships>Filter_Attributes</selectedRelationships>
<source>
<groupId>26f3862e-0482-420a-a731-7e9f84a024cd</groupId>
<id>1e1a4b48-9cf6-46b6-a751-4df9c66337d4</id>
<type>PROCESSOR</type>
</source>
<zIndex>0</zIndex>
</connections>
<labels>
<id>bba9991c-77ce-4e7e-9fd4-c825c896b7df</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>4134.464833612608</x>
<y>2491.29870657976</y>
</position>
<height>688.36181640625</height>
<label>Filter Key Attribute Values To JSON File</label>
<style>
<entry>
<key>background-color</key>
<value>#45ff55</value>
</entry>
<entry>
<key>font-size</key>
<value>18px</value>
</entry>
</style>
<width>401.4189453125</width>
</labels>
<labels>
<id>fafbc896-88af-457e-8eb8-caddb0344469</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3071.6437380667826</x>
<y>2550.115621797082</y>
</position>
<height>509.7081604003906</height>
<label>Generate Vehicle Location XML Simulator</label>
<style>
<entry>
<key>font-size</key>
<value>18px</value>
</entry>
</style>
<width>367.86260986328125</width>
</labels>
<labels>
<id>55c65bda-f25d-4766-bd6c-222f760a9615</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3595.939425043291</x>
<y>2489.56129734679</y>
</position>
<height>665.5819091796875</height>
<label>Extract Key Attributes From XML FlowFiles</label>
<style>
<entry>
<key>background-color</key>
<value>#698cff</value>
</entry>
<entry>
<key>font-size</key>
<value>18px</value>
</entry>
</style>
<width>403.7136535644531</width>
</labels>
<processors>
<id>872ad950-0467-46a2-be82-84789f091ab2</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3101.6437380667826</x>
<y>2590.771308763939</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Keep Source File</key>
<value>
<name>Keep Source File</name>
</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>
<name>Minimum File Age</name>
</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>
<name>Polling Interval</name>
</value>
</entry>
<entry>
<key>Input Directory</key>
<value>
<name>Input Directory</name>
</value>
</entry>
<entry>
<key>Maximum File Age</key>
<value>
<name>Maximum File Age</name>
</value>
</entry>
<entry>
<key>Batch Size</key>
<value>
<name>Batch Size</name>
</value>
</entry>
<entry>
<key>Maximum File Size</key>
<value>
<name>Maximum File Size</name>
</value>
</entry>
<entry>
<key>Minimum File Size</key>
<value>
<name>Minimum File Size</name>
</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>
<name>Ignore Hidden Files</name>
</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>
<name>Recurse Subdirectories</name>
</value>
</entry>
<entry>
<key>File Filter</key>
<value>
<name>File Filter</name>
</value>
</entry>
<entry>
<key>Path Filter</key>
<value>
<name>Path Filter</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Keep Source File</key>
<value>true</value>
</entry>
<entry>
<key>Minimum File Age</key>
<value>0 sec</value>
</entry>
<entry>
<key>Polling Interval</key>
<value>0 sec</value>
</entry>
<entry>
<key>Input Directory</key>
<value>/tmp/nifi/input</value>
</entry>
<entry>
<key>Maximum File Age</key>
</entry>
<entry>
<key>Batch Size</key>
<value>10</value>
</entry>
<entry>
<key>Maximum File Size</key>
</entry>
<entry>
<key>Minimum File Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Ignore Hidden Files</key>
<value>true</value>
</entry>
<entry>
<key>Recurse Subdirectories</key>
<value>true</value>
</entry>
<entry>
<key>File Filter</key>
<value>[^\.].*</value>
</entry>
<entry>
<key>Path Filter</key>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>1 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>GetFile</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.GetFile</type>
</processors>
<processors>
<id>9a9ce404-7014-43bf-afe6-0f8d0d576b84</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3641.890089945628</x>
<y>2867.964607476273</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Delete Attributes Expression</key>
<value>
<name>Delete Attributes Expression</name>
</value>
</entry>
<entry>
<key>filename</key>
<value>
<name>filename</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Delete Attributes Expression</key>
</entry>
<entry>
<key>filename</key>
<value>${UUID()}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>UpdateAttribute</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.attributes.UpdateAttribute</type>
</processors>
<processors>
<id>d42c9c5c-4664-4a47-8997-4b4a7f5b7258</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>4184.4226822044</x>
<y>2705.0357655361345</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments>Represents the Attributes in JSON</comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Destination</key>
<value>
<name>Destination</name>
</value>
</entry>
<entry>
<key>Null Value</key>
<value>
<name>Null Value</name>
</value>
</entry>
<entry>
<key>Attributes List</key>
<value>
<name>Attributes List</name>
</value>
</entry>
<entry>
<key>Include Core Attributes</key>
<value>
<name>Include Core Attributes</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Destination</key>
<value>flowfile-content</value>
</entry>
<entry>
<key>Null Value</key>
<value>false</value>
</entry>
<entry>
<key>Attributes List</key>
<value>Vehicle_ID, Direction_of_Travel, Latitude, Longitude, Vehicle_Speed, Last_Time </value>
</entry>
<entry>
<key>Include Core Attributes</key>
<value>true</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>AttributesToJSON</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.AttributesToJSON</type>
</processors>
<processors>
<id>1e1a4b48-9cf6-46b6-a751-4df9c66337d4</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>4182.354806181764</x>
<y>2539.866775125772</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments>Makes a filtering decision on the attributes. Each time that all the conditions are true, those attributes are pushed to the attributesToJSON processor.</comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Routing Strategy</key>
<value>
<name>Routing Strategy</name>
</value>
</entry>
<entry>
<key>Filter_Attributes</key>
<value>
<name>Filter_Attributes</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Routing Strategy</key>
<value>Route to Property name</value>
</entry>
<entry>
<key>Filter_Attributes</key>
<value>${Direction_of_Travel:isEmpty():not():and(
${Last_Time:isEmpty():not()}):and(
${Latitude:isEmpty():not()}):and(
${Longitude:isEmpty():not()}):and(
${Vehicle_ID:isEmpty():not()}):and(
${Vehicle_Speed:equals('0'):not()}
)}</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>RouteOnAttribute</name>
<relationships>
<autoTerminate>false</autoTerminate>
<name>Filter_Attributes</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.RouteOnAttribute</type>
</processors>
<processors>
<id>201f7f72-668b-4025-9ade-8149747058b8</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>4182.476123105265</x>
<y>2862.4601667005263</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments>Merges the FlowFiles together.</comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Keep Path</key>
<value>
<name>Keep Path</name>
</value>
</entry>
<entry>
<key>Maximum Group Size</key>
<value>
<name>Maximum Group Size</name>
</value>
</entry>
<entry>
<key>Merge Strategy</key>
<value>
<name>Merge Strategy</name>
</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>
<name>Attribute Strategy</name>
</value>
</entry>
<entry>
<key>Compression Level</key>
<value>
<name>Compression Level</name>
</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>
<name>Maximum Number of Entries</name>
</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>
<name>Minimum Group Size</name>
</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>
<name>Maximum number of Bins</name>
</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>
<name>Delimiter Strategy</name>
</value>
</entry>
<entry>
<key>Merge Format</key>
<value>
<name>Merge Format</name>
</value>
</entry>
<entry>
<key>Footer File</key>
<value>
<name>Footer File</name>
</value>
</entry>
<entry>
<key>Max Bin Age</key>
<value>
<name>Max Bin Age</name>
</value>
</entry>
<entry>
<key>Demarcator File</key>
<value>
<name>Demarcator File</name>
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
<value>
<name>Correlation Attribute Name</name>
</value>
</entry>
<entry>
<key>Header File</key>
<value>
<name>Header File</name>
</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>
<name>Minimum Number of Entries</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Keep Path</key>
<value>false</value>
</entry>
<entry>
<key>Maximum Group Size</key>
</entry>
<entry>
<key>Merge Strategy</key>
<value>Bin-Packing Algorithm</value>
</entry>
<entry>
<key>Attribute Strategy</key>
<value>Keep Only Common Attributes</value>
</entry>
<entry>
<key>Compression Level</key>
<value>1</value>
</entry>
<entry>
<key>Maximum Number of Entries</key>
<value>15</value>
</entry>
<entry>
<key>Minimum Group Size</key>
<value>0 B</value>
</entry>
<entry>
<key>Maximum number of Bins</key>
<value>5</value>
</entry>
<entry>
<key>Delimiter Strategy</key>
<value>Text</value>
</entry>
<entry>
<key>Merge Format</key>
<value>Binary Concatenation</value>
</entry>
<entry>
<key>Footer File</key>
<value>]</value>
</entry>
<entry>
<key>Max Bin Age</key>
</entry>
<entry>
<key>Demarcator File</key>
<value>,
</value>
</entry>
<entry>
<key>Correlation Attribute Name</key>
</entry>
<entry>
<key>Header File</key>
<value>[</value>
</entry>
<entry>
<key>Minimum Number of Entries</key>
<value>10</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>MergeContent</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>merged</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.MergeContent</type>
</processors>
<processors>
<id>2d27627f-3de2-432b-9ffb-40eb29f0eb86</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>4180.643738066783</x>
<y>3055.771308763939</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Group</key>
<value>
<name>Group</name>
</value>
</entry>
<entry>
<key>Owner</key>
<value>
<name>Owner</name>
</value>
</entry>
<entry>
<key>Create Missing Directories</key>
<value>
<name>Create Missing Directories</name>
</value>
</entry>
<entry>
<key>Permissions</key>
<value>
<name>Permissions</name>
</value>
</entry>
<entry>
<key>Maximum File Count</key>
<value>
<name>Maximum File Count</name>
</value>
</entry>
<entry>
<key>Last Modified Time</key>
<value>
<name>Last Modified Time</name>
</value>
</entry>
<entry>
<key>Directory</key>
<value>
<name>Directory</name>
</value>
</entry>
<entry>
<key>Conflict Resolution Strategy</key>
<value>
<name>Conflict Resolution Strategy</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Group</key>
</entry>
<entry>
<key>Owner</key>
</entry>
<entry>
<key>Create Missing Directories</key>
<value>true</value>
</entry>
<entry>
<key>Permissions</key>
</entry>
<entry>
<key>Maximum File Count</key>
</entry>
<entry>
<key>Last Modified Time</key>
</entry>
<entry>
<key>Directory</key>
<value>/tmp/nifi/output/filtered_transitLoc_data</value>
</entry>
<entry>
<key>Conflict Resolution Strategy</key>
<value>fail</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>PutFile</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.PutFile</type>
</processors>
<processors>
<id>3debd237-c712-4b9c-a04e-0c1437593725</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3642.618719830018</x>
<y>2540.089392310207</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Destination</key>
<value>
<name>Destination</name>
</value>
</entry>
<entry>
<key>Last_Time</key>
<value>
<name>Last_Time</name>
</value>
</entry>
<entry>
<key>Return Type</key>
<value>
<name>Return Type</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Destination</key>
<value>flowfile-attribute</value>
</entry>
<entry>
<key>Last_Time</key>
<value>//body/lastTime/@time</value>
</entry>
<entry>
<key>Return Type</key>
<value>auto-detect</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>EvaluateXPath</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>matched</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.EvaluateXPath</type>
</processors>
<processors>
<id>5c6f1081-e723-4e5f-ae4f-ca82fc584347</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3645.7444492646523</x>
<y>2707.3220248692837</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments>Split the XML into multiple FlowFiles, each comprised of children (vehicle tag) of the parent element (body tag). Note: you can see these tags in the XML feed. A link is provided in the comments section of GetHTTP.</comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Split Depth</key>
<value>
<name>Split Depth</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Split Depth</key>
<value>1</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>SplitXml</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>split</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.SplitXml</type>
</processors>
<processors>
<id>72551eb3-1a95-446f-beb1-82ba4fb34eab</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3102.0542482764436</x>
<y>2932.8580182518876</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Time Duration</key>
<value>
<name>Time Duration</name>
</value>
</entry>
<entry>
<key>Grouping Attribute</key>
<value>
<name>Grouping Attribute</name>
</value>
</entry>
<entry>
<key>Maximum Rate</key>
<value>
<name>Maximum Rate</name>
</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
<value>
<name>Rate Controlled Attribute</name>
</value>
</entry>
<entry>
<key>Rate Control Criteria</key>
<value>
<name>Rate Control Criteria</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Time Duration</key>
<value>6 second</value>
</entry>
<entry>
<key>Grouping Attribute</key>
</entry>
<entry>
<key>Maximum Rate</key>
<value>1</value>
</entry>
<entry>
<key>Rate Controlled Attribute</key>
</entry>
<entry>
<key>Rate Control Criteria</key>
<value>flowfile count</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>5 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>ControlRate</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.ControlRate</type>
</processors>
<processors>
<id>775802b2-20b0-47d7-a4da-e2bb9c624363</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3642.689333201654</x>
<y>3031.090958422059</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments>Extracts attributes from a flowfile</comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Destination</key>
<value>
<name>Destination</name>
</value>
</entry>
<entry>
<key>Vehicle_Speed</key>
<value>
<name>Vehicle_Speed</name>
</value>
</entry>
<entry>
<key>Return Type</key>
<value>
<name>Return Type</name>
</value>
</entry>
<entry>
<key>Latitude</key>
<value>
<name>Latitude</name>
</value>
</entry>
<entry>
<key>Vehicle_ID</key>
<value>
<name>Vehicle_ID</name>
</value>
</entry>
<entry>
<key>Longitude</key>
<value>
<name>Longitude</name>
</value>
</entry>
<entry>
<key>Direction_of_Travel</key>
<value>
<name>Direction_of_Travel</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Destination</key>
<value>flowfile-attribute</value>
</entry>
<entry>
<key>Vehicle_Speed</key>
<value>//vehicle/@speedKmHr</value>
</entry>
<entry>
<key>Return Type</key>
<value>auto-detect</value>
</entry>
<entry>
<key>Latitude</key>
<value>//vehicle/@lat</value>
</entry>
<entry>
<key>Vehicle_ID</key>
<value>//vehicle/@id</value>
</entry>
<entry>
<key>Longitude</key>
<value>//vehicle/@lon</value>
</entry>
<entry>
<key>Direction_of_Travel</key>
<value>//vehicle/@dirTag</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>EvaluateXPath</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>matched</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>unmatched</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.EvaluateXPath</type>
</processors>
<processors>
<id>7c2a9f28-7f64-45dc-b54b-44df1d77e831</id>
<parentGroupId>26f3862e-0482-420a-a731-7e9f84a024cd</parentGroupId>
<position>
<x>3100.5092653662873</x>
<y>2774.086839052669</y>
</position>
<config>
<bulletinLevel>WARN</bulletinLevel>
<comments></comments>
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
<descriptors>
<entry>
<key>Packaging Format</key>
<value>
<name>Packaging Format</name>
</value>
</entry>
</descriptors>
<lossTolerant>false</lossTolerant>
<penaltyDuration>30 sec</penaltyDuration>
<properties>
<entry>
<key>Packaging Format</key>
<value>zip</value>
</entry>
<entry>
<key>File Filter</key>
<value>.*</value>
</entry>
</properties>
<runDurationMillis>0</runDurationMillis>
<schedulingPeriod>0 sec</schedulingPeriod>
<schedulingStrategy>TIMER_DRIVEN</schedulingStrategy>
<yieldDuration>1 sec</yieldDuration>
</config>
<name>UnpackContent</name>
<relationships>
<autoTerminate>true</autoTerminate>
<name>failure</name>
</relationships>
<relationships>
<autoTerminate>true</autoTerminate>
<name>original</name>
</relationships>
<relationships>
<autoTerminate>false</autoTerminate>
<name>success</name>
</relationships>
<style></style>
<type>org.apache.nifi.processors.standard.UnpackContent</type>
</processors>
</snippet>
<timestamp>04/28/2017 06:21:30 UTC</timestamp>
</template>