Product Overview
FIXEye is a multi-purpose FIX session surveillance and visibility platform.
FIXEye presents search results in an easy-to-work-with form. It has an intuitive graphical user interface and uses many operational features familiar to MS Excel.
FIXEye can process multiple log files distributed on the network.
FIXEye Features
The FIXEye platform includes the following features:
- Search for FIX log files on a local computer and a whole network
- Show FIX messages in a table
- Select FIX fields to be shown in a table
- Show FIX field names, values, and descriptions
- Distinguish FIX messages received from the "in" and "out" log files
- Filter FIX messages by particular text in fields
- Recognize all FIX versions from a log file
- Support Regular expression
- Read raw FIX messages from any text files (not cleaned FIX logs only)
- Filter FIX messages by sessions
- Provide context search
- Create custom views
- Create custom filters
- Validate FIX messages
- Compare FIX messages
- Support FIX dialects
- Provide Order backtrace
- Support Multi-tab view
- Export selected cells to CSV
FIXEye main window
Components of FIXEye's main window are indicated in the screenshots below:
Starting FIXEye
Quick start
- To start FIXEye, click Start, point to All Programs, click B2BITS, and then click FIXEye. You can also double-click the FIXEye icon.
- To choose data files, on the File menu click Open Log Files, select files with raw FIX messages, and click Open.
- Write a search query in a search box and click Search.
- Double-click on a message in the table to see FIX message details.
At the very beginning FIXEye displays a dialog form for opening log files. You can either browse for files by clicking the corresponding step or skip this step by clicking the Cancel button.
Open file
On the File menu, click Open Log Files or Open Log Folder.
You can also use the button on your toolbar.
Open multiple files with FIXEye
A user can use the "Send to" Windows function to opening files in FIXEye.
- Right-click a folder, point to Send To, and then click FIXEye. (This can be done for multiple selected files.)
- The selected files will be opened in a new instance of FIXEye.
Multiple tabs
FIXEye allows creating multiple data windows (tabs). It is possible to specify different search text, filter, and view for each data window.
- To add a new tab, click the New Message View button. You can also press Ctrl+T.
- New data window with a clear search box will appear next to the current one.
Dictionaries
Attach a dictionary to a FIX log file
FIXEye can apply dictionaries to a particular log file or a set of files.
By default, FIXEye reads all loaded log files according to the standard dictionaries. To read a log file using custom dictionaries, you need to attach it to the file.
You can attach a custom dictionary to several files at once.
To load a FIX log file(s) with a custom dictionary attached:
- Click Add Files…
- Click Browse… and choose the file(s).
Select the Add application-level dictionary checkbox and choose an application-level dictionary file (click Browse…)
QuickFIX-formatted dictionaries are supported as well.If the QuickFIX dictionary file name is FIX40.xml, FIX41.xml, FIX42.xml, FIX43.xml, FIX44.xml, FIX50.xml, FIX50SP1.xml, FIX50SP2.xml, or FIXT11.xml, then please change it. Otherwise, the dictionary will not be loaded or attached.
- Optional. Select the FIXT checkbox and choose the session-level dictionary file (click Browse…).
- Click OK
- If the dictionary file is successfully attached to the file, then the dictionary file path will be displayed in the tooltip.
Now all files with a custom dictionary attached will be read using the specified dictionary.
The additional dictionary is the dictionary that changes the standard FIXEye dictionary.
Example:
When an additional dictionary (with the <FIX4X>, <FIX50>, <FIX50SP1>, <FIX50SP2>, or <FIXT11> id value) is attached to the log file, then the corresponding standard dictionary with the same ID will be updated.
Change an attached dictionary
To attach another dictionary to a FIX log file, remove the log file from the list of log files (in the Files section) and open it again with a new dictionary attached (see Attaching a dictionary to FIX log file).
Load a set of dictionaries
To load a set of dictionaries:
- Choose Load dictionaries
- Select the required dictionaries
- Click Open
Search with FIXEye
Search methods
FIXEye has several ways to search messages in the files:
- Show all messages
- Use pre-defined filters for searching
- Search and filter messages by a tag-value pair
- Context search
- Search inside the message
The search process can be stopped by clicking the Cancel button on the status bar.
Show all messages
FIXEye searches for all FIX messages in the specified files without any additional filtering.
Use pre-defined filters for searching
Pick a filter from the list and search for specific message types.
For details, refer to Pre-defined filters.
Search and filter messages by a tag-value pair
FIXEye can search for messages by a tag-value pair. Values, in this case, are treated as whole words.
FIXEye also accepts regular expressions for this search method, for example: "35=[A58]".
This type of search can be combined with using pre-defined filters, which makes it the fastest way for searching messages. Search by tag-value pair has priority over other types of search, so only tag-value expressions will be used for the search.
Text other than FIX messages is ignored by FIXEye.
The given search method requires the actual version of the FIX dictionary. Otherwise, searching by custom tags will not return any results!
The given search method doesn't work with repeating groups. Please search by context instead.
The space character acts as the logical operator AND. For searching a tag-value pair in which the value is represented by an integral word-group, the space character should be preceded with a backslash ('\') symbol, for example:
"58=Unknown\ Reason".
Regular expressions should be used for the logical operator OR.
Examples
Case 1. Search by a single tag-value pair
Query: 35=d
Explanation of search query: Only messages where condition 35=d is true will be displayed in the output
Case 2. Search by two or more tag-value pairs
Query: 35=d 34=6
Explanation of search query: Tag-value pairs are separated by the space character. Only messages where condition 35=d is true and 34=6 is true will be displayed in the output.
Case 3. Search by a single tag-value pair where the value is represented by integral word-group
Query: 58=Unknown\ Reason
Explanation of search query: For searing "Unknown Reason" in Text (58), the backslash symbol precedes the space symbol, not to interpret the space as a the logical operator AND.
Context search
Context search means that all input in the "search box" is considered to be plain text. It is divided into search queries according to the rules described below. These search queries are searched for in the input log file. First a text put in the “search box” is analyzed.
Text in quotes (" ") is considered as one search query and is taken as the integral text phrase for the search engine. The input text is divided into many queries when space characters are met. Each query is searched. Here, the space character means the OR logical operator. The plus character (+) at the beginning of a query is used to indicate the logical AND operation. That means that searching <query1> +<query2> will lead to success only if both query1 and query2 are found in the input stream.
Context search differs from the search by a tag-value pair. The entire input stream is analyzed, and the results are shown only at the end. Note, context searching may take a long time if the input file is big! You can click the Cancel button at the bottom of the page to stop the process.
Searching for search queries in a FIX message is more complicated than the ordinary plain text search. First, the search engine looks for search queries in a raw FIX message. Then the FIX message is parsed and tag IDs are converted to names, (e.g. 35=A is turned to MsgType=A) and the search engine looks for search queries again. And for the third time, search tag values are converted to text equivalents, (e.g. 35=A is turned to MsgType=Logon). At the display step, all FIX messages satisfying search criteria are displayed.
Examples
Examples for the context search method can be found below.
Case 1. Search by a single one-word query
Query: heart
Explanation of search query: Messages with the "heart" query have been found in 35 tag and 108 tag
Case 2. Search by several queries in a row delimited by spaces, no quotes used
Query: heart security
Explanation of search query: All messages have been displayed where "heart" or "security" query have been found
Case 3. Search by a single multi-word query, enclosed in quotes
Query: "list of securities"
Explanation of search query: All messages have been displayed where the integrated "list of securities" query has been found
Case 4. Search by several queries in a row delimited by " +" character, no quotes used
Query: security +gas
Explanation of search query: All messages have been displayed where "security" and "gas" in a single word-group have been found
Data search + pre-defined filter
It is sometimes useful to do some preliminary filtering and start searching within the filtered results. For more information on pre-defined filtering, refer to Pre-defined filters. When the filter is set and text is entered in the search box, FIXEye will first apply the filter and then search the filter's output.
Search within message details
You can search for a specific context in a raw message.
- Double-click on a message to open the Message Details window and enter your search query in the search text box.
- Press Enter to go to the next search result or Shift+Enter to return to the previous one.
FIXEye-Splunk integration
Some basic capabilities for searching in the Splunk system using FIXEye have been introduced (since 4.1 version). See How to use FIXEye-Splunk integration capabilities.
Agent
This section describes:
- how to add an agent
- how to rename an agent
- how to remove an agent
You can use an agent to browse log files on a remote computer if direct access to the machine is prevented due to security or other issues.
Add an agent
Please note that the agent should already be installed, configured and able to run on the remote computer.
To add an agent, perform the following steps:
- Right-click anywhere in the Files window, then click Add Agent in the right-click menu.
You can also use the Add Agent button. - In the Add Agent dialog, define your connection parameters, such as Name, Host, Port, Login and Password. If you need to connect the agent immediately, select the "Connect now" check box. Make sure the name you choose has not been used before. Otherwise, you will get the warning message: "The agent with the entered name already exists."
- Click Add to save your agent settings.
If "Connect now" is selected, the connection is available, and everything is set up properly, your agent will launch and its status will change to “Connected”.
- You can see which files you can browse and what dictionaries the agent uses in the corresponding sub-lists.
- You can only browse static files. No changes in logs will be reflected.
- If you want browse logs in real-time, please see the Watch section.
Rename an agent
You can rename your agent at any time. To rename an agent, perform the following steps:
- Select the required agent and click Edit Agent in the right-click menu.
- Enter a new name in the Edit Agent dialog.
- Click Save to finish renaming. Your agent is renamed.
Another option to rename an agent is to select it and click it once to apply the 'in place' editing mode. Then you can change agent's name and press <Enter> to save your edits.
Remove an agent
To remove an agent, select the required agent and click Remove Agent in the right-click menu.
Confirm deletion in the Remove Agent pop-up dialog by clicking Yes. Your agent is removed.
Messages
Message details
To view message details:
- Right-click the selected FIX message, and then click Show Message Details, or use the F3 key. You can also double-click the selected FIX message.
The Message Details window has the following view:
Paste a message
You can paste a FIX message or the sequence of FIX messages from the clipboard or type them manually in the new data window (tab) to process the message.
To paste a FIX message:
- Open the new data window.
- Paste the copied message (or some text with the part of the message, or sequence of messages) into it.
- Click OK to process the message.
You can type your own message manually in the new data window with observing proper FIX message syntax. Use the SOH button to insert the Start of Header separator.
The pasted messages are processed the same way as messages taken from the log file or from the agent.
If the entered string doesn't fit validation rules, then the warning message is shown according to the FIXEye error handling rules.
On hovering the warning icon, the error message is popped up. You can also find out an error explanation by selecting the Errors tab as shown below.
Compare messages
You can compare two messages tag by tag in a separate window.
- Select a message, and then hold down Ctrl key while you click other message you want to select.
- Right-click the selected message and click Compare Messages.
Please note, that if you select more than two messages, FIXEye will compare only the first and the last one.
You can exclude separate tags from the comparison.
- In the Message Compare dialog, in the Exclusive tags, type the tags with any delimiter, and then click the Compare button to refresh the list.
= values are identical
<> values are different
<= tag is present only in the left message
=> tag is present only in the right message
Compare files
You can compare two log files message by message using our new Files Compare tool.
- On the Tools menu, click Files Compare.
- Click the Browse at the end of each line to select the files you want to compare.
- Click the Compare.
“<>” indicates that messages are different
- Click the <> to compare 2 messages in a new window.
If FIXEye can't find the FIX messages in the files, it will notify that the files are identical.
Pipe symbols as delimiters
Pipe symbols (‘|’) can be used as delimiters in the log files and the text pasted from the clipboard instead of the SOH symbols
FIXEye reads the pipe-delimited files the same way as SOH-delimited ones.
Pipe-delimited FIX message:
8=FIX.4.2|9=73|35=A|34=1|49=SNQX|52=20080109-13:32:04.000|56=DBSUSH|50=SNPY|98=0|108=60|10=242|
SOH-delimited FIX message:
8=FIX.4.2SOH
9=73SOH
35=ASOH
34=1SOH
49=SNQXSOH
52=20080109-13:32:04.000SOH
56=DBSUSHSOH
50=SNPYSOH
98=0SOH
108=60SOH
10=242SOH
All delimiters must be the same type
Newline symbol ignorance
FIXEye ignores the newline symbols:
- In the FIX log file during the parsing
- In the FIX log file during the search
- In the text pasted from the clipboard
Sort messages
You can sort messages by the chosen tag in ascending or descending order.
- Click the appropriate table column header to sort messages.
- The direction of the arrow next to the header name indicates the direction of the sort.
- You can reset current sorting by pressing <Esc>.
Message auto filter
You can use different filters to show or hide specific messages.
- Click the arrow next to header name, and then select a required value to apply auto filter.
- To reset filtering, select (All).
- Click the arrow next to header name, and then select (Custom).
- Set up a condition operator and a criterion <value> to compare the current FIX field with some value(-s).
- The filter criteria can either be selected from the drop-down list or entered by the user.
Additional tools
Watch
FIXEye provides a powerful real-time monitoring tool which is Watch. You can create multiple processes with various filters and search parameters to follow updates in selected files.
- To create a new Watch, select the Create Watch option in the File menu. You can also click the icon on the toolbar to open the Realtime Files Watch window.
- Specify the message type you want to watch in the Filter list.
- In the Search box, type search parameters. You can leave the box empty to see all messages.
- In the Validation list, select a required validation level.
- In the Check Interval box, type a check interval in milliseconds.
- In the Schedule list, select the moment when you would like to start.
- To add files you want to watch, under Files, click Open. Select files you want to monitor, and then click Open. You can also add files to the list by typing a file path, and then click Add.
- To remove a file from the list, select a required file, and then click Remove.
- Select the 'E-mail Notifications' check box if you want to receive a notification email every time a new message is detected. Click Configure to set up an outgoing mail server.
- Select the 'Activate on new message' check box if you want FIXEye to blink on a taskbar when a new message is detected.
You can stop or pause the process in the Realtime Files Watch window using the corresponding buttons on the Watches toolbar.
- Click the Now Scroll is: Off to switch off the automatic scroll to the latest messages. Clicking the Now Scroll is: On button will restore it.
- Click the button on the toolbar to clear the list.
You can add an agent to monitor the files on a remote computer.
- In the Realtime Files Watch dialog, right-click anywhere in the Files window, and then click Add Agent. You can also use the button. Please mind that the agent should already be configured on a remote computer.
- Once the agent is connected you can add a Watch that will monitor the remote storage.
Sessions Watch
The ability to monitor session state changes is available since FIXEye 4.5 release.
FIXEye provides a real-time session states monitoring tool which is Session Watch. Multiple sessions can be monitored at the same time.
- To create a new Session Watch, select the Create Sessions Watch option in the File menu.
- Also, the icon on the toolbar may be clicked to open the Add Sessions Watch window.
- Specify the name of the Session Watch in the Watch Name field.
- Specify the storage of the log files in the Files Storage list.
- Select the particular log files to monitor the session(s) in the Files list.
- Specify the check interval in milliseconds in the Check Interval field.
- Specify the heartbeat interval in seconds in the Heartbeat Interval field.
- Select the E-mail Notifications checkbox to receive a notification email every time the state of the session changes. Click the Configure button to set up an outgoing mail server.
- Press the Save button to save created Session Watch or press the Cancel button to cancel the Session Watch creation.
The Session Watch tab will be opened and displayed on the main FIXEye screen. There is no need to keep this tab expanded or displayed for FIXEye to monitor the selected session(s) - it will be done automatically while the created Session Watch is running.
The monitoring process can be stopped or started via buttons in the Watches section. The created Session Watch may be removed as well.
States of all sessions whose log files were selected in the Add Sessions Watch window will be displayed in the Session Watch tab. The time of the last session state change, SenderCompID, TargetCompID, SenderSubID and TargetSubID will be displayed for each session as well.
The states of the session:
Colour | State | Description |
---|---|---|
Initial | FIXEye cannot define the state of the session. There are no messages in the log file of the session. | |
Running | The connection is established. The last message in the *.body file is Logon or the last message in the *.in and *.out log files is Logon. OR The last message in the session log file is received or sent less than 2 heartbeat intervals ago. | |
Disconnected | The connection is broken. The last message in the *.body file is Logout or the last message in the *.in and *.out log files is Logout. OR The last message in the session log file is received or sent more than 2 heartbeat intervals ago. |
FIX Events Viewer
FIXEye can notify and send emails on the following events:
- Connection status - FIX Session status has been changed
- Order acknowledgement time - The time between receiving the order and sending the acknowledgement is exceeded.
Follow the steps to enable notification:
- On the Tools menu, click the Events Viewer. You can also use the Events Viewer button on the toolbar.
- In the FIX Events Viewer dialogue, add files or agents you want to track.
- Create a subscription.
Click the button on the FIX Events toolbar and select your subscription type.
Connection status
Specify the expected FIX connection status for notification.
Order acknowledge time
FIXEye can compare the time from SendingTime (52) tag between order and the first acknowledgment on it. This check can be used if one needs to monitor delays in message processing.
Configuring Email notifications
To receive an email notification on Select the E-mail Notifications checkbox and click on the Configure to set up an outgoing mail server.
Interface
File list
All opened log files are listed in the Files window.
- Select the respective file checkbox to include the file content in the next search.
- Clear the respective file checkbox to exclude the file content from the next search.
Dictionaries list
FIXEye covers standard FIX-features by default, but you can work with non-standard FIX-dialects after loading special files (XML-format) that contain the necessary descriptions.
- To add a dictionary file, on the File menu, click Load Dictionaries. You can also click the icon on the toolbar. The third option is to right-click anywhere on the Files pane, and then click Add Dictionary(ies).
- To remove a dictionary file, right-click the selected file, and click Remove Dictionary(ies).
Sessions list
All sessions found in opened log files are listed in the Sessions window.
- Create groups to sort your sessions using a right-click menu.
- Select a session check box to include the respective session in the next search.
- Clear a session check box to exclude the respective session from the next search.
Customizing interface
You can adjust the viewing depending on how you arrange the windows in the FIXEye. The following options are just some of the ways that windows can be arranged:
- Tab-dock windows to the search result frame.
- Dock tool windows to the edge of a frame in the FIXEye.
- Float windows over or outside the FIXEye.
- Minimize tool windows along the edge of the FIXEye.
Tool windows can be docked to one side of a frame in the FIXEye:
- Drug the window toward the middle of FIXEye window. Three arrows appear and point to the three edged of FIXEye window. The diamond only appears when you drag the window toward another tool window.
- When the window you are dragging reaches the location where you want to dock it, the designated area is shaded.
- To dock the window in the position indicated, release the mouse button.
Tool windows such as Files and Sessions support a feature named Auto-Hide. When a window is auto-hidden, its name and icon are displayed on a tab at the edge of the FIXEye.
To turn on Auto-Hide:
- Click the tool window you want to hide.
- Click the pushpin icon on the title bar of the window.
To Turn off Auto-Hide:
- Click the window you want to keep visible.
- Click the pushpin icon on the title bar of the window.
Tool windows can be undocked from the FIXEye and moved anywhere on the desktop.
- Drug the tool window to the location you want.
Pre-defined filters
You can use different filters to show specific messages only.
- In the Filter list, click a filter you want to apply.
Do one of the following:
- To create a new filter, click <New>.
- To modify the selected filter, click the Edit button.
- To remove the selected filter, click the Remove button.
- To reset the current filter, click [Default Filter].
When you are creating a new filter, you may indicate one or more conditions.
You can save a back copy of the current filter by clicking button in the Filter window.
You can address a field tag, which is a part of a repeating group while creating a new filter.
- Type a repeating group tag, then type a dot character “.”, and a field tag. For example, 453.452 indicates that messages with a repeating group tag of 453 that includes tag of 452 will be filtered.
Custom view
You can customize a message view (a set of displayed columns) in the table.
- In the View list, click a view you want to apply.
Do one of the following:
- To create a new view, click <New>.
- To modify the selected view, click the Edit button.
- To remove the selected view, click the Remove button.
- To reset the current view, click [Default View].
The “Compact” preset view allows showing messages in a compact form, i.e. numbers for tags and values without description.
The “Detailed” preset view allows showing maximum information about messages. All tag names except service fields are displayed and all field values are described.
The “Raw Data” preset view allows displaying messages in their raw view, i.e. as a row of symbols.
The “Colored” preset view allows displaying messages in different colors, i.e. a particular color is assigned to every message type, to facilitate visual perception of table data.
When you are creating a new view, you may indicate one or more conditions. Use to add fields and formatting rules and to delete them.
Validation
Message Validation
You can validate messages in the table against FIX rules.
- Click n and choose the particular validation level.
There are 3 levels of validation:
- Well formed – message length and checksum match the corresponding field values
- Well-formed and required fields – the same as above and all mandatory fields are present in a message
- Well-formed and required fields and correct values – the same as above, plus message fields have correct values (e.g. the numeric field has a numeric value, the date field has some sensible date, etc.)
To disable checksum validation, the 'Disable checksum validation' option should be selected.
Invalid messages are marked in the table.
Related error descriptions are placed into the Errors tab of this data window.
- Double-click the icon to see the detailed description of an error.
Order backtrace
This feature shows a trade process as a chart of its states defined by related FIX-messages.
- Right-click on the selected message, and then click Order Backtrace.
Click on a message or a state shape to see the related object details.
Session backtrace
This feature shows a session process as a chart consisting of its states defined by related Logon and Logout messages and Test Requests.
- Right-click on the selected message, and then click Session Backtrace.
Click on a message or a state shape to see the related object details.
Click on a message or a state shape to see the related object details.
Order / Session backtrace customizing
You can customize text displayed in shapes.
- In the Session Backtrace Diagram window, on the Tools menu, click Options.
- In the Order Backtrace Diagram window, on the Tools menu, click Options.
It is possible to create a dedicated string for each message and state type. It is also possible to put a field value into the string.
Order Blotter
You can check the recent status of orders from the loaded files using Order Blotter.
- On the Tools menu, click Order Blotter.
- Double-click the selected order to open the Order Backtrace Diagram window.
Export
Export backtrace data
You can export data from Order and Session Backtrace diagrams as an image or a plain text.
- In the Order Backtrace Diagram or Session Backtrace Diagram window, on the File menu, point to Export, and then click Export Data if you want to save messages in text format or click Export Image if you want to save a diagram.
Export table data
You can export table data to a separate text file (.csv or .fix)
- Select rows in the table.
- Right-click the selected rows, and then click Export.