Hi,
Are there plans to expose kernel stats from Oak ?

>From a client point of view:
I am thinking access to an immutable map of read only long values that
give the client information about the internal health and throughput
of an Oak kernel, rather like the information available under /proc on
linux.

>From a kernel pov it might just be AtomicLongs in a map. All they do
is count certain actions or set an absolute value with as low a cost
as possible to the internal workings of the core, and no risk of
concurrency issues.

I am not thinking of anything as sophisticated as the
RepositoryStatistics TimeSeries thats in Jackrabbit.

The only need to be centralised and exposed, clients can decide what
to do with the values.

Use Case:
The Jackrabbit ObservationDispatcher has a queue that contains a
AtomicInteger indicating the size of the queue. If Observers are slow
in responding to asynchronous notifications the queue can grow
rapidly. Having stats on the queue would give valuable feedback into
this area and in certain cases fast long running notifiers (JCR
writers) could adjust their behaviour based on the even. Even seeing
the size of the queue in a monitoring tool would be useful.

Having telemetry in the Oak kernel will certainly help clients and may
also help optimise and benchmark Oak.
Ian

Reply via email to