On Mon, May 6, 2013 at 1:44 PM, Brandon Wilson <[email protected] > wrote:
> Thanks for the help. With your help I've dug in and figured out how to > interact with Accumulo using the Thrift API from the client side. > > I have one more followup relating to all this metrics and thrift subject > matter and it involves the server side of maintaining the maetrics. It is > my understanding that the Master is maintaining a set of stats about the > system and we get our hands on them using a Thrift call that sends back an > instance of MasterMonitorInfo (I assume this would be the logic behind each > point on the Monitor web page - with a few lines of aggregation code to get > the big picture). From there we have our hands on the per tablet or per > table metrics. What I need to understand is how and how often these are > computed or reset. For example: > > 1) IndexCacheHits - Is this monotonic? i.e., never reset, simply > accumulating from process startup. Is there essentially a callback to > update the stats on every cache lookup? Is this reset after each time > window? > > yes, I think it just counts up from process startup time and is never reset > 2) IngestRate - Eric said that this is a decaying average like JMX. Does > this mean that time is broken into discrete blocks and the bytes (or > entries) ingested over that window are computed and added to the decaying > average via some sort of callback? > Yes, this one decays. This is done by the tablet server. > > I hope these make sense. A quick pointer to the classes that maintain the > server-side of these metrics would be great. > o.a.a.server.tabletserver.TabletServer.ThriftClientHandler.getTabletServerStatus(). o.a.a.server.tabletserver.TabletServer.getStats() o.a.a.server.master.Master.MasterClientServiceHandler.getMasterStats() > > Thanks for all the help so far. > > -Brandon > > > On Tue, Apr 30, 2013 at 2:37 PM, Eric Newton <[email protected]>wrote: > >> >> >> I have another quick questions about the following measurements for >>> anyone that may know: >>> >>> 1) *QueryRate* - What units is this? Queries (or Entries returned) per >>> sec? Same question as 2) applies here. >>> >> >> Entries/second. >> >> >>> 2) *(Query/Ingest)ByteRate* - Is this over a time window? Is it some >>> sort of exponential decay like the JMX averages. >>> >> >> Yes, exactly like the JMX data. >> >> >>> Also, I assume that, like to the Monitor page, QueryByteRate and >>> QueryRate is actually the ResultSet size and rate? >>> >> >> Yep, it's all the same data. >> >> -Eric >> >> >
