Is there a way to propagate Weblogic Execution Context ID to an Oracle Database so that you can get it by querying V$SESSION.ECID ? That sounds like an obvious question but enabling Diagnostics Context at the server level doesn't seem to do the job with 10.3.5. Plus I didn't find how to do it in the documentation. Thank you
I've managed to propagate the ECID to V$SESSION by implementing the weblogic.jdbc.extensions.DriverInterceptor interface and :
- get the ECID with weblogic.diagnostics.context.DiagnosticContextHelper.getContextId();
- inject it into the connection with setEndtoEndMetrics()
It looks okay on Weblogic side (not bad at all !). I'll have to understand the impact on the database side...
Do you know any easier way ?
I just did a quick test with 10.3.5 (with a sample ADF application - not sure if that makes a difference), and the ECID was automatically populated in V$SESSION when I ran my app. Have you tested to see if it is populated without any additional effort on your part?
Sorry I missed your comment.
Really? It could be that ADF Business Components populate V$SESSION. Interesting feedback!
My application doesn't and I did not find any Magic Button... Fortunately the DriverInterceptor does the job. I still need to run some kind of real load testing. I wonder what impact negative it could have. Nevertheless, so far so good...
Thank you again. I'll give BC a try. Best Regards,
I am interested in DriverInterceptor. Would you mind to post your implementation?
I also like to know how you deploy it, where you put the class and how it is picked up by the JDBC driver.