'!' suppresses the issuing of commands. Generally used for non-destructiive test runs. Not really used much but it takes up the '!' symbol character.
Rick On Sat, Feb 11, 2023 at 12:01 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at> wrote: > Just a quick question: what is the purpose of '!' in TRACE, have not seen > documentation about it. > > In the case '!' is available then this could be used as an MT toggle? > > ---rony > On 09.02.2023 13:40, Rick McGuire wrote: > > One other thing about the trigger character. The '?' and '!' triggers act > as toggles, so issuing "Trace ?" will trigger the interactive debug setting > without changing the level of tracing being done. This should also work > with whatever is chosen to turn on the multithreaded information. > > Another possibility would be to automatically add the additional > information when more than one thread is active. That way, most users who > only work single threaded never see this, but people who are working with > multiple threads get the extra information without needing to think about > having to change the trace settings. I think I would prefer that rather > than the M suffix, which really works quite differently from how ? and ! > are handled. > > Rick > > On Thu, Feb 9, 2023 at 7:21 AM Rony G. Flatscher <rony.flatsc...@wu.ac.at> > wrote: > >> Thanks for the feedback. Probably putting M as the trailing letter after >> the alphabetic letter as Mike suggests is the best option. Omitting the >> trailing M would switch back to the simple form. Would that be acceptable >> for everyone? >> >> ---rony >> >> >> On 08.02.2023 21:24, Rick McGuire wrote: >> >> 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