Altair® Panopticon

 

Creating WebSocket Input Data Source

The WebSocket connector is very similar to the Stream Simulator connector, except that rather than looping through a file, it would either connect through web sockets, long polling, or repeatedly poll an external URL for new records to process.

Steps:

1.     In the New Data Source page, select Input > WebSocket in the Connector drop-down list.

 

2.     Enter the connection details:

Property

Description

Path

The path to which the WebSocket server will respond to.

Proxy Server URI

he HTTP Proxy setting that will allow the WebSocket connector to reach the endpoint

User ID

The User ID that will be used to connect to the WebSocket server.

Password

The password that will be used to connect to the WebSocket server.

Check the Show Characters box to display the entered characters.

Request Body

For both the HTTP and ws:// POST requests sent to the WebSocket server.

Timeout

The length of time to wait for the server response (10 to 300). Default is 10.


3.     Select the Message Type.

4.     Select either the period (.) or comma (,) as the Decimal Separator.

   NOTE

Prepend 'default:' for the elements falling under default namespace.

 

 

5.     Click  to the fetch the schema based on the connection details. Consequently, the list of columns with the data type found from inspecting the first ‘n’ rows of the input data source is populated and the Save button is enabled.

6.     You can also opt to load or save a copy of the column definition.

7.     You can opt to click  to add columns to the WebSocket connection that represent sections of the message. Then enter or select:

Property

Description

Name

The column name of the source schema.

JsonPath/Text Column Index/XPath

The JsonPath/Text Column Index/XPath of the source schema.

Type

The data type of the column. Can be a Text, Numeric, or Time

Date Format

The format when the data type is Time.

Filter

Defined parameters that can be used as filter.

Enabled

Determines whether the message field should be processed.

 

   NOTE

To parse and format times with higher than millisecond precision, the format string needs to end with a period followed by sequence of lower case Fs. There can be no additional characters following them.

For example: yyyy-MM-dd HH:mm:ss.ffffff

 

 

8.     If the Type is selected as Text, it will be listed in the Id Column drop-down list box and can be used to select a key column to manage data updates and inserts.

Note: Every message definition needs a text column to be defined as the ID column. By default, only the latest data will be loaded into memory.

Furthermore, a streaming time series window can be generated by creating a compound key with the Id Column, plus a separately specified Time ID column.  This Time ID column can be from the source dataset, or alternatively automatically generated.

If the Time Id column is selected, then a scrolling time window can be specified.

For Automatic Time Id, define the Time Id Column Name.

As new data arrives from the subscription, new time slices will automatically be added, and old ones will be deleted.

If a new ID is received, a new row is added to the in-memory data set representing the WebSocket topic subscription. While if an existing ID is received, an existing row is updated.

9..   Check the Reset Data on Reconnect box to flush out the stale data and reload data after reconnection.

10.   Click . The new data source is added in the Data Sources list.