FIXEye is a multi-purpose FIX session surveillance and visibility platform.
FIXEye presents search results in an easy to work with form. It has intuitive graphical user interface and uses many operational features familiar from MS Excel.
FIXEye can process multiple log files distributed on the network.
- 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 back trace
- Support Multi-tab view
- Export selected cells to CSV
FIXEye main window
- 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.
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 Windows function to "send to" files for opening them in FIXEye.
- Right-click a folder, point to Send To, and then click FIXEye. (it can be done for multiple selected files)
- The selected files will be opened in a new instance of FIXEye.
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.
Select the type of message you want to find, type your search query in any search box in the main window and hit the Search button.
You can stop the search process by clicking the Cancel button on the status bar.
If tag=value constructions with or without regular expressions are detected in search string then all other text is ignored and the searching engine uses only these constructions. Such searching mode is similar to a filter. Messages are parsed one-by-one, search criteria are applied and message satisfying search criteria is displayed. If some preliminary filter is set then search criteria derived from search string analysis is added to the preliminary filter and the result filter construction is applied to FIX message.
All unnecessary text before the tag will be ignored, but after tag value, there must be a space character. All other symbols will "spoil" the search string and tag=value construction will not be detected. For example "asdf34=1" will work as "34=1" and "34=1asdf" will not work
Regular expressions may be used similarly to filter (see Datafilter). Space between tag=value patterns means AND logical operator.
Examples for this type of search are present in the table below.
|single tag=value pattern|
only messages where condition 35=d is true are displayed in the output
|two tag=value patterns separated by space|
query: 35=d 34=6
only messages where condition 35=d is true and 34=6 is true are displayed in the output
Context search means that all input in "search box" is considered as plain text. It is divided into text patterns according to some rules described below and these patterns are searched for in input log file. First a text put in “search box” is analyzed.
A text in quotes (" ") is considered as one pattern and is taken as exact text phrase for the searching engine. The input text is divided into many patterns when space characters are met. Each pattern is searched. Space character here means OR logical operator. Plus character (+) at the beginning of pattern is used for logical AND operation. That means that searching <pattern1> +<pattern2> will lead to success only if both pattern1 and pattern2 are found in the input stream.
If only +<pattern> is present in search string then no matches will be found even if <pattern> is contained in the input stream
Context search differs from tag=value search. All input stream is analyzed and the results are shown only at the end. Note, context searching may take a long time if input file is big! By the way you can click the Cancel button at the bottom of the page to stop the process.
Searching of patterns in a FIX message is more complicated than ordinary plain text search. First of all search engine looks for patterns in a raw fix message. Then 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 patterns 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 for this type of search are present in the table below.
"heart" pattern has been found in 35 tag and 108 tag
|several patterns divided by spaces, no quotes|
query: heart security
all messages where "heart" or "security" patterns have been found
|several patterns divided by spaces, all text in quotes|
query: "list of securities"
all messages where exact phrase "list of securities" has been found
|two patterns, one of them with '+' character|
query: security +gas
Only messages where both "security" and "gas" has been found are
data search + data filter
It is sometimes useful to do some preliminary filtering and start searching in the results of the filter. For more information on data filtering see Datafilter. When filter is set and some text put in search box FIXEye will first apply filter and then search in the filter output.
Search within message details
You can search for message tags and values in the Message Details window.
- For searching by tag, enter the tag name plus the equal sign ("=") in the search text box and press Enter.
- For searching by value, enter the value name without any additional symbols and press Enter.
You will see the search results in the tag table and in the field with the selected message in the raw format.
The field that displays the message in the raw format can be expanded and collapsed. Use theand icons at the upper right corner of the field for that.
FIXEye - Splunk integration
Some basic capabilities for searching in Splunk system using FIXEye have been introduced (since 4.1 version). See How to use FIXEye-Splunk integration capabilities article.
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.
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.
Modify a message
The parsed FIX message or sequence of messages can be modified.
- Select the required message and go to the Raw Message tab. Here you can edit the message content in the RAW format.
- Make the necessary changes and click OK to process the modified message.
Note that you can paste new messages or enter them manually in the editing window.
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
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.
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.
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, on the File menu, click Create Watch. 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
FIX Events Viewer
FIXEye can notify and send emails on the following events:
- Connection status - FIX Session status has been changes
- Order acknowledge time - The time between receiving ordered and sending the acknowledge 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 dialog, add files or agents you want to track.
- Create a subscription.
Click the button on the FIX Events toolbar and select your subscription type.
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.
The precision between order and acknowledgment can be different (e.g. Milliseconds vs microseconds) which leads to unexpected/wrong results. Use this option only in case of the same accuracy.
Delayed Order Acknowledge is calculated based on the first response time, regardless of his status: new, partial fill, fill or even rejected.
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.
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.
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).
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.
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.
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.
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.
You can validate messages in the table against FIX rules.
- Click n and choose the validation that you want.
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. numeric field has a numeric value, date field has some sensible date etc)
Invalid messages are marked in the table with icon.
Related error descriptions are placed into Errors tab of this data window.
- Double-click the icon to see the detailed description of an error.
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.
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.
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.
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 Order Backtrace Diagram window.
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.