On Mon, 19 Jan 2009 19:23:46 -0500, Ed Barrett <[email protected]> wrote:

Hi all,

We've been having issues with our off-site installation of Evergreen
(1.2.4.0) that we have so far been unsuccessful in tracking down to root
causes.  Rather than trying to compile anecdotes about when any
particular transaction appeared to take longer than usual, we're trying
to come up with something that would allow us to make periodic,
non-intrusive calls to the server and time the results, hopefully
pointing to a bottleneck somewhere along the route between us and our
server.  I posed this question on #openils-evergreen, and was pointed at
the Constrictor tool
<http://svn.open-ils.org/trac/ILS-Contrib/wiki/Constrictor>, which
sounds like exactly what we need.  However, upon installing and running
it, I have learned that it's written for a later version of the software
than what we are currently running.  I have not been successful in
making changes to it that allow it to work in our situation.  So, if not
Constrictor, what *are* people using to, for example, measure how long
it takes to check a book out, or look up a patron barcode?  What are
people using to correlate that sort of information with what's happening
on their network at the time?

My gut reaction is to create a set of tests in Nagios (what that test
would do, I don't know yet) that would also produce data that I could
graph with rrdtool and correlate with graphs from smokeping.  That's
very high-level though, and I'm not sure it would tell me what I want to
know.

Hi Ed,

Constrictor used to work with Evergreen 1.2 servers, given a certain configuration (using the Evergreen 1.4/Opensrf 1.0 Python libs). It's possible, though, that the code has drifted enough so that it is no longer possible. I'd be interested to see what types of errors you are seeing. (Sorry I missed you in IRC...)


If you are comforable with Perl, there are some test scripts in the repository you can try:

http://svn.open-ils.org/trac/ILS/browser/branches/rel_1_2/Open-ILS/src/support-scripts/test-scripts/


In particular, the checkout.pl script will perform checkouts, checkins, and renewals and time the results.

$ ./checkout.pl <config> <staff_login> <staff_pw> <patron_id> <copy_barcode> <action>

For example:

$ ./checkout.pl <config> <staff_login> <staff_pw> <patron_id> <copy_barcode> <action>

$ ./checkout.pl /openils/conf/opensrf_core.xml admin open-ils 1 123456789 checkout $ ./checkout.pl /openils/conf/opensrf_core.xml admin open-ils 1 123456789 renew $ ./checkout.pl /openils/conf/opensrf_core.xml admin open-ils 1 123456789 renew $ ./checkout.pl /openils/conf/opensrf_core.xml admin open-ils 1 123456789 checkin

If nothing else, this might give you some clues for building other test scripts.

Hope this helps,

-b

--
Bill Erickson
| VP, Software Development & Integration
| Equinox Software, Inc. / The Evergreen Experts
| phone: 877-OPEN-ILS (673-6457)
| email: [email protected]
| web: http://esilibrary.com

Reply via email to