What I'd prefer is something like:
interface BlockCacheReportSink {
public void reportStats(BlockCacheReport report);
}
class LoggingBlockCacheReportSink {
... {
log it with whatever formatting you want
}
}
then a configuration which could default to the logging implementation, but
orgs could easily substitute their own implementation. For example, I could
see wanting to do an implementation where it keeps local RRD graphs of some
stats, or pushes them to a central management server.
The assumption is that BlockCacheReport is a fairly straightforward "struct"
with the non-formatted information available.
-Todd
On Fri, Jul 29, 2011 at 4:15 AM, Doug Meil <[email protected]>wrote:
>
> Hi Folks-
>
> You probably already my email yesterday on this...
> https://issues.apache.org/jira/browse/HBASE-4089 (block cache report)
>
> ...and I just created this one...
> https://issues.apache.org/jira/browse/HBASE-4147 (StoreFile query
> report)
>
> What I'd like to run past the dev-list is this: if Hbase had periodic
> summary usage statistics, where should they go? What I'd like to throw
> out for discussion is that I'm suggesting that it should simply go to the
> log files and users can slice and dice this on their own. No UI (I.e.,
> JSPs), no JMX, etc.
>
>
> The summary out the output is this:
> BlockCacheReport: on configured interval, print out summary of blockcache
> (at table/CF level) to log file. This one is point-in-time, not delta.
>
> StoreFile read report: on configured interval, print out summary of
> StoreFile accesses and how much time was spent reading each StoreFile to
> log file.
>
> Thoughts?
>
> Doug
>
> >
>
>
--
Todd Lipcon
Software Engineer, Cloudera