[infinispan-dev] Adding getMBeanServer to AdvancedCache

Mircea Markus mircea.markus at jboss.com
Fri Dec 18 05:27:58 EST 2009


On Dec 18, 2009, at 10:34 AM, Galder Zamarreno wrote:

> 
> 
> On 12/18/2009 09:27 AM, Galder Zamarreno wrote:
>> 
>> 
>> On 12/17/2009 07:08 PM, Manik Surtani wrote:
>>> 
>>> On 17 Dec 2009, at 14:49, Galder Zamarreno wrote:
>>> 
>>>> 
>>>> 
>>>> On 12/17/2009 03:08 PM, Manik Surtani wrote:
>>>>> Isn't using JMX to gather this info a bit roundabout?  I mean, we are within the same VM at this stage anyway, and have a handle on the Cache itself...
>>>> 
>>>> Hmmm, I suppose that to get the information in CacheMgmtInterceptor, I
>>>> could use cache.getAdvancedCache().getInterceptorChain() and find the
>>>> CacheMgmtInterceptor to get stats information.
>>> 
>>> What info do you specifically need for the stats command?
>> 
>> http://github.com/trondn/memcached/blob/master/doc/protocol.txt
>> 
>> See "General-purpose statistics" section. Things like: uptime, version,
>> numbers of items currently stored, number of items stored since
>> Infinispan began...etc.
>> 
>> Thinking about this again, perhaps trying to get access to this
>> information by retrieving the interceptor is probably not a nice way to
>> do it, since the interceptor is an inner component. Maybe Cache could
>> have getStats() that returns an immutable Stats object with the latest
>> values of the stats. That would decouple how we capture the stats
>> internally, to how they're retrieved from clients. Alternatively, if we
>> wanna decouple this, we already have JMX that acts as a decoupling
>> mechanism to accessing the stats.
> 
> Of course, some of the stats linked above I would need to maintain 
> myself in the memcached module and others are harder to get hold of, 
> i.e. pid.
What about defining an interface for exposing the needed statistics? Than we can have the Interceptor implementing it, or even an other class that, if needed, might delegate to multiple interceptors for getting the info.
We don't couple the logic of stats info from an particular interceptor, but we have a strongly type access (nut sure if JMX would grant this) and also an efficient one (same VM).
> 
>> 
>>> 
>>>> 
>>>> If you wanna simply get an interceptor like in this case, it might be
>>>> easier if there was an API like:
>>>> getInterceptor(Class<? extends CommandInterceptor>   type)
>>>> 
>>>> Looks to me getInterceptorChain() is particularly interesting when
>>>> you're more interested in figuring out what interceptor might be before
>>>> or after.
>>>> 
>>>>> 
>>>>> 
>>>>> On 17 Dec 2009, at 14:02, Galder Zamarreno wrote:
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> For implementing the stats command in the memcached txt server, I'm
>>>>>> planning to use JMX to get the relevant stats...etc. However, to make
>>>>>> sure I hit the right MBeanServer, I thought of adding a getMBeanServer()
>>>>>> to AdvancedCache that returns whatever MBeanServer has been used to
>>>>>> register the MBeans. The MBeanServer actually comes from the
>>>>>> corresponding MBeanServerLookup implementation.
>>>>>> 
>>>>>> Has anyone got any objections to this?
>>>>>> --
>>>>>> Galder Zamarreño
>>>>>> Sr. Software Engineer
>>>>>> Infinispan, JBoss Cache
>>>>>> _______________________________________________
>>>>>> infinispan-dev mailing list
>>>>>> infinispan-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>> 
>>>>> --
>>>>> Manik Surtani
>>>>> manik at jboss.org
>>>>> Lead, Infinispan
>>>>> Lead, JBoss Cache
>>>>> http://www.infinispan.org
>>>>> http://www.jbosscache.org
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> infinispan-dev mailing list
>>>>> infinispan-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>> 
>>>> --
>>>> Galder Zamarreño
>>>> Sr. Software Engineer
>>>> Infinispan, JBoss Cache
>>>> _______________________________________________
>>>> infinispan-dev mailing list
>>>> infinispan-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>> 
>>> --
>>> Manik Surtani
>>> manik at jboss.org
>>> Lead, Infinispan
>>> Lead, JBoss Cache
>>> http://www.infinispan.org
>>> http://www.jbosscache.org
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> 
> 
> -- 
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev





More information about the infinispan-dev mailing list