ABL trace level to see when 4GL is running source vs compile

Posted by dbeavon on 25-May-2017 09:02

Is there a way to turn up tracing to show extra events whenever ABL is running source code (ie compiling on the fly)?

I've noticed that when a complex ABL class is left uncompiled (during development) there is a huge and recurring cost to using the class from the runtime.  In my "4GLTrace" entry type I see large gaps of time right before new'ing up one of these uncompiled classes from a clean ABL session.  (IE. the time gaps can go as high as 50 ms, especially when the source code is hosted on a NAS file server).

I have discovered that I can use the "-y" parameter and investigate "client.mon" output files (after the fact) to see my ABL client statistics.  Those statistics seem to indicate which programs were executed from compiled binaries vs. source code.  This is my workaround at the moment.  But I also think it should be easier to show on-the-fly compilation within the 4GL tracing -- so that periods of apparent inactivity can be accounted for.

Any tips would be appreciated.  As of now I'm assuming that there are no tracing options to help with this.  I'm working primarily with appserver agents on OE 11.6.3.

All Replies

Posted by Ken McIntosh on 25-May-2017 09:38

Perhaps -clientlog <filename> -logentrytypes "fileid:3"

If you see only .cls and no .r files being accessed is one way.

Posted by Laura Stern on 25-May-2017 12:44

You're correct.  There is no logging option for this.  We'd have to add a logentrytype for it.

Ken's idea is interesting. Though you would still not know when the compiles are happening.  But it would be an alternative to -y.  

This thread is closed