Interpreting the Log
In the event of an error message or unexpected output, you can analyze the workspace to find which error has been introduced into the workflow definition. The log window is the most important place to look for information when a translation does not complete as you expected.
Check for Warnings
If you closed the log window during the translation, then you will not see any warning messages that may have passed by. The first thing to do is check for the following comment:
Translation was SUCCESSFUL with X warning(s)
And then (if X > 0
), use the search option to look for the word WARN.
Sequence
Because FME processes data feature-by-feature instead of transformer-by-transformer, the log file does not show each transformer in sequence. That is only likely to happen when the transformer is group-based and does actually process all features simultaneously.
Output
If the workspace writers have been redirected to an output other than a destination dataset, then this is reported at the very bottom of the log. Watch for such messages. It’s amazing the number of times I’ve forgotten to disable the output and thought there was a writer problem.
Timestamps
FME processing time is the amount of time that FME was actively processing.
The absolute start and end times often differ from FME processing time because non-FME processes, such as a database query, add to the absolute time taken without adding to the FME processing time. The log, therefore, can provide an indication of the efficiency of external processes (for example, database reading). A slow database read would imply database indexing may need to be improved.
Unexpected Input
Unexpected Input is reported through a message at the bottom of the log. However, this message does not mean that there is a definite problem. FME will report this as a warning even if you did not deliberately add unwanted source feature types to the workspace.
Filtering Rejected Input
Occasionally a transformer or writer will reject certain features because they do not match the functionality or parameters of that object. For example, if you send a mixture of point and line features into the AreaBuilder transformer, the log will report that the point features were discarded.
The log will be less verbose – and may even improve performance – if you can remove such features before they become a problem. For example, a GeometryFilter would be enough to filter out points before they even get to the AreaBuilder.
Feature Count Interpretation
When a log file shows a translation that ended in an error, or where the number of output features was not what you were expecting, then the Feature Count values shown on each connection can help diagnose where the error occurred.
However, different interpretations can be placed upon the same numbers.
In this example, when we run the workspace, it fails:
Where does the failure occur?
The feature counts are open to two interpretations:
- 1858 features entered the StatisticsCalculator, but only 1 emerged. Therefore the StatisticsCalculator must be at fault.
- The first feature caused the Joiner to fail. Therefore the Joiner is at fault.
It may not be entirely clear where the problem occurred, but at least you can narrow it down and be fairly certain that the reading of the data and the AreaCalculator are not the locations of the problem.
Useful Analytical Transformers
Some transformers that provide useful information in workspace analysis:
Inspector Transformer
An Inspector transformer takes features from the workflow and sends them to FME Data Inspector, which lets you view partially processed features from the middle of the workflow.
Logger Transformer
A Logger transformer takes features from the workflow and writes information about them to the log window or log file. Limits can be placed on the number of features to be logged in full.
The Logger transformer has a parameter called Log Message: when a feature is logged, this message appears with it. Setting a unique message helps you locate logged features when using the log search function to find the message.
Performance Tuning a Workspace
The following topics contain useful information, especially if you want to cut down on processing time: