<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-stateful-analysis-nar</artifactId><version>2.0.0-M4</version><systemApiVersion>2.0.0-M4</systemApiVersion><buildInfo><tag>nifi-2.0.0-M4-RC1</tag><branch>UNKNOWN</branch><revision>19c5be0</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.stateful.analysis.AttributeRollingWindow</name><type>PROCESSOR</type><description>Track a Rolling Window based on evaluating an Expression Language expression on each FlowFile and add that value to the processor's state. Each FlowFile will be emitted with the count of FlowFiles and total aggregate value of values processed in the current time window.</description><tags><tag>Attribute Expression Language</tag><tag>state</tag><tag>data science</tag><tag>rolling</tag><tag>window</tag></tags><properties><property><name>Value to track</name><displayName>Value to track</displayName><description>The expression on which to evaluate each FlowFile. The result of the expression will be added to the rolling window value.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Time window</name><displayName>Time window</displayName><description>The time window on which to calculate the rolling window.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Sub-window length</name><displayName>Sub-window length</displayName><description>When set, values will be batched into sub-windows of the set length. This allows for much larger length total windows to be set but sacrifices some precision. If this is not set (or is 0) then each value is stored in state with the timestamp of when it was received. After the length of time stated in Time window elaspes the value will be removed. If this is set, values will be batched together every X amount of time (where X is the time period set for this property) and removed all at once.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>set state fail</name><description>When state fails to save when processing a FlowFile, the FlowFile is routed here.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>success</name><description>All FlowFiles are successfully processed are routed here</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>When a FlowFile fails for a reason other than failing to set state it is routed here.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>rolling_window_value</name><description>The rolling window value (sum of all the values stored).</description></writesAttribute><writesAttribute><name>rolling_window_count</name><description>The count of the number of FlowFiles seen in the rolling window.</description></writesAttribute><writesAttribute><name>rolling_window_mean</name><description>The mean of the FlowFiles seen in the rolling window.</description></writesAttribute><writesAttribute><name>rolling_window_variance</name><description>The variance of the FlowFiles seen in the rolling window.</description></writesAttribute><writesAttribute><name>rolling_window_stddev</name><description>The standard deviation (positive square root of the variance) of the FlowFiles seen in the rolling window.</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><stateful><description>Store the values backing the rolling window. This includes storing the individual values and their time-stamps or the batches of values and their counts.</description><scopes><scope>LOCAL</scope></scopes></stateful><inputRequirement>INPUT_REQUIRED</inputRequirement></extension></extensions></extensionManifest>