Hi Jeremy, (copying the dev list)
I looked at the snapshot. It's not as helpful as they often are.
Some things I noticed:
HibernateContextDAO.getUserByUuid(String) is taking a massive amount of
time. The underlying issue is that @Authorized checks lead to a call to
Context.getAuthenticatedUser(). But when you're in a Daemon thread, that
causes a database query (via contextDAO.getUserByUuid). *I believe there's a
trivial fix to core that will save 10-15% of your CPU time.* In the
beginning of AuthorizationAdvice.before, add something like:
if (Daemon.isDaemonThread())
return;
Your LabORUR01Handler.processLabORU_R01 method is spending 60% of its time
doing saveObs(Obs, String). Presumably if batches of lab results were saved
in encounters, that'd be faster. But that's a significant change for you.
-Darius
_________________________________________
To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to
[email protected] with "SIGNOFF openmrs-devel-l" in the body (not
the subject) of your e-mail.
[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]