On Thu, Feb 12, 2009 at 06:25:59AM -0800, MARK CALLAGHAN wrote:
> Examples of the compromises (and mistakes?) we made:
> * We count row activity (rows read, rows changed) per table and per
> user. An easier way to do that is to modify handler.{h,cc} so that
> activity for any handler is counted. We modified a few storage engines
> instead. Lots of interesting things might be possible when you can
> insert code between a storage engine and the code that calls it.

I think this would be great to be able to have logging hooks here....
(I now wait for Mark Atwood to have it done in 3 minutes with some magic
example statistics thing).

One interesting thing would be more advanced security systems. The
SE-PostgreSQL and similar is quite interesting... and i think we'd have
a chunk of it implemented right there between the engine and those
calling it.

> * We aggregate data per user and per table. It would have been easier
> to extend existing USER and TABLE objects (whatever they are) and add
> fields for aggregated stats to them. It isn't clear to me that such an
> object exists for TABLE in MySQL 5.0 as the share isn't shared. And
> for the USER object, it wasn't clear to me that the object would exist
> after all connections for that user went away.

Hrrm... interactions with auth plugins too...
Perhaps we need a simple auth plugin that just provides an identifier
for the connecting process so that this is possible, we could then have
a standard API for getting some string that identifies the user and a
stats plugin could aggregate the data based on that.

But I have to agree about the life cycles of objects - sometimes it's
just plain scary.

-- 
Stewart Smith

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to