The special symbol characters "." and "_" are also available as indicators. I'm a definite -1 to using environment variables and Erich has also voiced his displeasure about that.
Another option might be to allow a second keyword following the trace type that indicates using the expanded form. It should also allow explicit specification of the simple form too. Rick On Wed, Feb 8, 2023 at 2:46 PM Mike Cowlishaw <m...@speleotrove.com> wrote: > I would have put the M after the other letter because it's really a > subsidiary option. If it's first it rather 'M'asks the main option? > > Mike > > ------------------------------ > *From:* Rony G. Flatscher [mailto:rony.flatsc...@wu.ac.at] > *Sent:* 08 February 2023 14:16 > *To:* oorexx-devel@lists.sourceforge.net > *Subject:* [Oorexx-devel] Planning to add multithreaded (concurrent) > tracing (Re: RFC for feature request "794 Concurrency request" > > Coming back to this RFE from 17 months ago which I would like to add to > trunk. Without it one can hardly use TRACE for debugging multithreaded > programs in a Rexx-like, i.e. easy manner. > > Currently having tried to incorporate the feedback about too many > whitespaces between the new columns (Rexx interpreter instance number, > Thread number, Activity number, reserved object pool). > > There was another idea about making this concurrency/multihreaded trace > available without a need to define an environment variable > RXTRACE_CONCURRENCY before starting a Rexx program. This post is about > ideas of how to activate and deactivate concurrent tracing at runtime > (either via the TRACE keyword instruction or the TRACE()-BIF) in a manner > that is intuitive and easy to remember. > > One possibility would be to introduce new alphabetic options, this time > with two letters by prepending the letter 'M' (for multithreaded as the > letter c is already used for tracing commands and may therefore be > irritating) to the existing alphabetic characters, hence defining the > following semantics: > > *Trace* > *Option, turn off MT* > *Option, turn on MT* > All > A > MA > Command > C > MC > Error > E > ME > Failure > F > MF > Intermediates > I > MI > Labels > L > ML > Normal > N > MN > Off > O > - > Results > R > MR > > > > This would have the benefit that anytime it becomes possible to turn on > and to turn off multithreaded/concurrent tracing at runtime. > > What do you think? > > ---rony > > P.S.: The "fallback" would be to just add it as is, i.e. using the > environment variable RXTRACE_CONCURRENCY, making the > multithreaded/concurrent tracing a global option that needs to be set > before running a Rexx program. > > > On 05.09.2021 14:12, Rony G. Flatscher wrote: > > Almost a week ago Jean Louis Faucher registered feature request "794 > Concurrency request", > cf.<https://sourceforge.net/p/oorexx/feature-requests/794/> > <https://sourceforge.net/p/oorexx/feature-requests/794/> together with a > patch that implements the > feature request. So far there have been no comments, hence "requesting for > comments (RFC)" here as > it may be the case that the RFE has been overlooked. > > --- > > IMHO this RFE is incredible helpful for debugging multi-threaded Rexx > programs and for understanding > how ooRexx dispatches multithreaded code. > > The way Jean Louis devised the implementation has practically no impact on > the interpreter (unless > one defines an environment variable "RXTRACE_CONCURRENCY=on" modelled after > the existing > "RXTRACE=ON" environment variable in which case helpful information gets > generated for prefixing > each trace output statement) makes it easy even for beginners (= students) to > get insight and > understand how ooRexx executes multithreaded programs. Some problems rooted > in multithreaded Rexx > code can be quickly located, understood and resolved with this feature. > > Having tested this concurrency trace feature with the most challenging JavaFX > ooRexx programs I have > been really impressed with the results. Using the ooRexx program > "samples/tracer.rex" (included in > the patch) to render the massive concurrency trace output of some JavaFX > ooRexx programs to csv and > importing the concurrency trace into a spreadsheet (e.g. Excel) makes it > possible to analyze such > massive concurrency traces in every possible detail using the spreadsheet > features (e.g. filtering > for a specific ooRexx interpreter instance or specific threads, pivots and > the like). Therefore I > uploaded one such test to this RFE such that one can directly get at the > massive concurrency trace, > the csv file created by "tracer.rex" from it and an Excel spreadsheet which > was used to import the > generated csv file. (I wished this feature had been available when devising > some of the BSF4ooRexx > JavaFX samples, which would have saved me literally weeks of debugging!) > > The patch implementing RFE 794 makes it really easy for ooRexx programmers to > understand and to > debug multithreaded ooRexx programs, saving them a *lot* of time trying to > understand what happens, > how concurrent statements get executed by the interpreter(s) and locating > coding errors! > > ---rony > > > > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel