Re: proposal for ICU tracing

Tex Texin <[email protected]>
Newsgroups gmane.comp.lib.icu.general
Organization http://www.XenCraft.com XenCraft Globalization Services
Message-ID <[email protected]>
Thanks Carl, It is much clearer now.

This is one approach. We should see what the ICU team had planned.

tex

"Carl W. Brown" wrote:
> 
> Tex,
> 
> > OK, I missed the connection between the storage type and
> > optionality of the
> > function.
> > If so, that's great.
> > I'll have to look at TLS to see how that happens.
> 
> I suspect that when you turn on the trace you will pass a call back routine.
> If stored in the TLS it can still be the same code for all threads or
> different if you have different callbacks for different traces.
> 
> The TLS is transparent to the application because applications that do not
> use threads will use a common structure in static storage.  This code also
> can mask the differences between POSIX and Windows TLS handling.
> 
> I suspect that if you try to actually write a trace handler it will be
> difficult because how will you report the trace info?  If you have a call
> back address are you going to rewrite 20 layers of ICU calls to pass the
> trace data?  Will you have a global files with mutex locking and require
> that the application merge the information with the other trace data?  How
> will that work in an environment that does not support standard file I/O
> like Apache?  I had ICU lock up doing I/O when it processed its own bundles
> under 1.4.  You have to be able to use the common code without invoking any
> files.
> 
> With TLS you can access it from any point in your code that supports an
> extern.  You can write a common trace routine and call it from any code.
> Implementation requires almost no change to the old ICU code.  Wherever you
> want to do a trace just call the trace module.  If the trace is active it
> will proceed and it not it will not.
> 
> You can have a global that will compile ICU without traces to run faster but
> the overhead should be minimal and the rest of the code should not change.
> The nice thing about TLS is that you can find it from any point in the code
> even though it may contain thread specific data so you do not have to add
> overhead to the code that does not support tracing.
> 
> Carl
> 
> _______________________________________________
> icu mailing list
> [email protected]
> http://oss.software.ibm.com/developerworks/oss/mailman/listinfo/icu

-- 
-------------------------------------------------------------
Tex Texin   cell: +1 781 789 1898   mailto:[email protected]
Xen Master                          http://www.i18nGuy.com
                         
XenCraft		            http://www.XenCraft.com
Making e-Business Work Around the World
-------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.