Callback stat cache

In doing some profiling someone noticed a bunch of stats looking for
Callback modifications. In the “every little bit counts” category, this
patch caches the stat/response so that subsequent requests can use the
in-memory response rather than go out and get the fresh value via a system
call.

If I understand it correctly, on production systems, it should be a rare
event that new Callbacks are added. If they are added, the sysadmin could
certainly restart RT to make them show up.

I added this to my RT_Siteconfig:

Callback Timeout

Seconds until the callback cache times out Set this high (86400) for

production systems, low for development (0) [default]

Set($CallbackTimeout, 10000);

.
.
.
And it seems to have made some difference, although I haven’t run any
tests to verify.

This obviously only makes sense in persistent environments.

Let me know if you see any booboos/comments/etc.

Matt Mankins
http://www.loremipsumbooks.com/

callbackpatch (1.72 KB)

In doing some profiling someone noticed a bunch of stats looking for
Callback modifications. In the “every little bit counts” category,
this
patch caches the stat/response so that subsequent requests can use the
in-memory response rather than go out and get the fresh value via a
system
call.

It’s actually already frequently the case that the stat call won’t
catch a callback change. It might make sense to just turn off the
checking entirely.