I have a large FME FMW file which is using a lot of memory at runtime. I have been tasked with trying to find ways to reduce the memory footprint.
Early on in the workbench there is (what I assume is) a group-based transformer - LineOnAreaOverlayer, which looks for lines that intersect polygons. I suspect that the group-based nature of this transformer is pushing up memory usage, as the thousands of features which are fed into it need to be held in memory and processed all in one go (at least that's the theory). My aim is to halt processing when features are first output from this transformer to see how much memory is being used at this point. I'm using inspection points on the transformer's outputs.
However, it seems I either don't understand group-based transformers or inspection points. I break processing on the first feature that is output from the transformer, and the connector feature counts in the rest of the FMW all show features having already gone right through the transformation and being written. I thought that all input features were backed-up in front of the LineOnAreaOverlayer before anything else happened?
Can anyone help me clarify this please? Also, any other useful information on tracking memory usage in an FMW would be much appreciated - right now my only options are the log's peak memory usage numbers or trying to match a procmon log with the fme log, which will be a tedious task.