<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.12-alpha" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: An idea: create ha_trace tracing storage engine</title>
	<link>http://s.petrunia.net/blog/?p=23</link>
	<description>Random observations made while working on MySQL / MariaDB query optimizer</description>
	<pubDate>Sat, 04 Sep 2010 18:23:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.12-alpha</generator>

	<item>
		<title>by: Sergey Petrunia&#8217;s blog &#187; Pluggable storage engine interface needs to support name resolution hooks</title>
		<link>http://s.petrunia.net/blog/?p=23#comment-14020</link>
		<pubDate>Wed, 19 Dec 2007 07:31:23 +0000</pubDate>
		<guid>http://s.petrunia.net/blog/?p=23#comment-14020</guid>
					<description>[...] I've started some attempts at coding ha_trace storage engine I've mentioned earlier. One of the first things that became apparent was that I needed a way to put a hook into table name resolution code so I can wrap tables into ha_trace objects. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] I&#8217;ve started some attempts at coding ha_trace storage engine I&#8217;ve mentioned earlier. One of the first things that became apparent was that I needed a way to put a hook into table name resolution code so I can wrap tables into ha_trace objects. [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jeremy Cole</title>
		<link>http://s.petrunia.net/blog/?p=23#comment-5449</link>
		<pubDate>Sun, 08 Jul 2007 17:33:55 +0000</pubDate>
		<guid>http://s.petrunia.net/blog/?p=23#comment-5449</guid>
					<description>Hi Sergey,

Sounds like a wonderful idea, but I'd rather see it implemented completely internal to MySQL rather than as another hacky storage engine.  I think the code would look much the same, just the code to enable/disable it would be a lot more user friendly.  Perhaps:

SET TRACE STORAGE ENGINE InnoDB ON;

As well as some solution for tracing individual tables always, maybe:

SET TRACE TABLE db.table ON;

And some way to trace an individual table for a single session:

SET SESSION TRACE TABLE db.table AS tracedtable ON;

Just some ideas. :)

Regards,

Jeremy</description>
		<content:encoded><![CDATA[<p>Hi Sergey,</p>
<p>Sounds like a wonderful idea, but I&#8217;d rather see it implemented completely internal to MySQL rather than as another hacky storage engine.  I think the code would look much the same, just the code to enable/disable it would be a lot more user friendly.  Perhaps:</p>
<p>SET TRACE STORAGE ENGINE InnoDB ON;</p>
<p>As well as some solution for tracing individual tables always, maybe:</p>
<p>SET TRACE TABLE db.table ON;</p>
<p>And some way to trace an individual table for a single session:</p>
<p>SET SESSION TRACE TABLE db.table AS tracedtable ON;</p>
<p>Just some ideas. <img src='http://s.petrunia.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Regards,</p>
<p>Jeremy
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Frits Hoogland</title>
		<link>http://s.petrunia.net/blog/?p=23#comment-5425</link>
		<pubDate>Sat, 07 Jul 2007 16:52:12 +0000</pubDate>
		<guid>http://s.petrunia.net/blog/?p=23#comment-5425</guid>
					<description>I don't know if I am going to be in flamestorm, but:

As an oracle and mysql administrator, there are things to be learned from a database engine like oracle.

Like: the wait interface.
The oracle RDBMS keeps track of time spent by recording portions of code under 'events'. This are event like:
-db file sequential read
 (table fetch by rowid, index scanning)
-db file scattered read
 (multiblock reads of tables (aka full table scans), and indexes (an index non-ordered full scan)
-direct path write
 (writing to the temporary area for sorts, hashing or LOB which exceed in-memory area)
etc. (there are 878 of these events in oracle 10)

These are recorded on both global and session level. 

Has this impact on performance? Probably...but it's better to know what is/has happening than not to. (you cannot solve something which you don't know)</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know if I am going to be in flamestorm, but:</p>
<p>As an oracle and mysql administrator, there are things to be learned from a database engine like oracle.</p>
<p>Like: the wait interface.<br />
The oracle RDBMS keeps track of time spent by recording portions of code under &#8216;events&#8217;. This are event like:<br />
-db file sequential read<br />
 (table fetch by rowid, index scanning)<br />
-db file scattered read<br />
 (multiblock reads of tables (aka full table scans), and indexes (an index non-ordered full scan)<br />
-direct path write<br />
 (writing to the temporary area for sorts, hashing or LOB which exceed in-memory area)<br />
etc. (there are 878 of these events in oracle 10)</p>
<p>These are recorded on both global and session level. </p>
<p>Has this impact on performance? Probably&#8230;but it&#8217;s better to know what is/has happening than not to. (you cannot solve something which you don&#8217;t know)
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Brian Aker</title>
		<link>http://s.petrunia.net/blog/?p=23#comment-5422</link>
		<pubDate>Sat, 07 Jul 2007 15:57:32 +0000</pubDate>
		<guid>http://s.petrunia.net/blog/?p=23#comment-5422</guid>
					<description>Hi!

Go for it :)

It sounds like an excellent idea.

Cheers,
   -Brian</description>
		<content:encoded><![CDATA[<p>Hi!</p>
<p>Go for it <img src='http://s.petrunia.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>It sounds like an excellent idea.</p>
<p>Cheers,<br />
   -Brian
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
