[collectd] memcached:// support in curl plugin

Doug MacEachern dougjm at gmail.com
Wed Mar 4 06:09:38 CET 2009


Hi Florian,

On Feb 27, 2009, at 4:32 AM, Florian Forster wrote:

> Good morning,
>
> On Thu, Feb 26, 2009 at 06:29:56PM -0500, Doug MacEachern wrote:
>> Similar idea to plugging a struct Curl_handler into libcurl, but  
>> since
>> we can't do that have own layer to do something like:
>> register_url_handler(const char *scheme, int (*callback) (web_page_t
>> *wp));
>
> I always thought of cURL as an abstraction layer over (possibly  
> network
> based) file access operations. Putting another abstraction layer over
> that is, in my opinion, not the way to go. I'd much rather see libcurl
> provide a schema registration function in the future and/or (if they
> oppose that for some reason), include `memcached' support there.
>

I'm with you on that, agreed.

> Did you talk to the cURL guys already? I didn't find any (recent) post
> in the `curl-library' mailing list at least.. If not, I'd be  
> willing to
> write and submit patches for both suggestions..
>

Nope I didn't post to any of the cURL lists,  mainly because it  
looked very much intentional having them all static to url.c.  If you  
want to make the proposal/patch there, that'd be great.

>> What do you think, should I just implement memcachec as its own  
>> plugin
>> and leave curl.c alone?
>
> I've put your changes into a separate plugin, but unfortunately I
> couldn't delete as much code as I had hoped, so I'm not 100%  
> satisfied.
> I'll send an email with the patch in a minute..
>

Looks great, thanks!  I feel guilty not having done the work myself,  
but less so since you agree we should be able to shrink it more ;)

> But I've thought of a third option: Using the libmemcached (or the
> libmemcache, which is a different library!) you can get statistics  
> *and*
> actual payload. Maybe it'd make sense to put both options, getting
> general memcache *daemon* statistics and getting data from the  
> daemon to
> *parse* statistics, into one plugin. What do you think?
>

Hmm, didn't know about libmemcache, but it seems both authors have  
agreed on libmemcached:
http://lists.danga.com/pipermail/memcached/2007-December/006111.html
But yes, it probably would make sense for the existing memcached.c  
plugin to use libmemcached if available and also to support the  
custom payload based stats.
So where do we go from here on this?  I'm happy to take your  
direction and work on the implementation.  But have no problem of  
course if you want to run with it, in which case I'll move on to  
another unrelated patch :)




More information about the collectd mailing list