You open the Siddhi Analytics agent configuration dialog from a workflow configuration: you can right-click the agent icon and select Configuration..., or double-click the agent icon.
The Siddhi Analytics configuration dialog consists two sections: Siddhi code and a section with input/output streams and UDR types.
Siddhi Analytics agent configuration - SiddhiQL tab
Setting | Description |
---|---|
Code Area | This is the text area where you enter your Siddhi queries, see 9.74.3 Siddhi Query Language for further information. To populate the code area with SiddhiQL, and to define a default input stream and a query to stream all of the fields of the incoming UDRs to the Siddhi Analytics agent, select Set to Input. Entered code will be color coded depending on the code type. Below the text area there are line, column and position indicators. |
Compilation Test... | Choose this button to test that the Siddhi queries that you have entered compile successfully. |
Input Types | Enables selection of UDR Types. One or several UDR types that the agent expects to receive may be selected. |
Input Streams | Enter the input stream(s) from which the agent expects to receive UDR types. |
Set To Input | When you select this button, the SiddhiQL tab is automatically populated with stream definitions corresponding to the types distributed by the input agents. The code area is populated with code in SiddhiQL to define a default input stream and a query to stream all of the fields of the incoming UDRs to the Siddhi Analytics agent. The Input Types and Output Types are populated with the UDR type(s) distributed by the previous agent, and the default input stream(s) from the previous agent. The Output Streams are populated with the default output stream based on the UDR type distributed by the previous agent. You can modify the code and settings as required. |
Output Streams | Enter the output stream(s) that you want to insert the output UDR types into. |
Output Types | Select the output UDR type(s) that you want to have. |
Output Routes | Enter the routes you want each output type to be sent out on. If you do not select any output route, the UDRs are sent on all the output routes. |
The data is kept in-memory, which means that if you stop the workflow or if the workflow aborts, the query state and table contents are lost.
The amount of memory that you use depends on the data that you are processing, the conditions that you set for events to be filtered into a stream, and on whether you are using tables and time or batch windows in the Siddhi query. For example, if you have a time window that is set for a long period of time, and a burst of events occurs so that a large number of UDRs is filtered into a stream for processing, a large amount of memory may be used, and can result in out of memory issues.
Hint!
The Siddhi Analytics agent does not currently support the use of an external database, however you can include an external database using another agent in the workflow in order to persist data.