Re: [HACKERS] Patch to log usage of temporary files - Mailing list pgsql-patches

From Bill Moran
Subject Re: [HACKERS] Patch to log usage of temporary files
Date
Msg-id 20070103162053.c08f6095.wmoran@collaborativefusion.com
Whole thread Raw
In response to Re: [HACKERS] Patch to log usage of temporary files  ("Simon Riggs" <simon@2ndquadrant.com>)
Responses Re: [HACKERS] Patch to log usage of temporary files  (Andrew Dunstan <andrew@dunslane.net>)
Re: [HACKERS] Patch to log usage of temporary files  (Jim Nasby <decibel@decibel.org>)
List pgsql-patches
In response to "Simon Riggs" <simon@2ndquadrant.com>:

> On Tue, 2007-01-02 at 18:20 -0500, Tom Lane wrote:
> > Bill Moran <wmoran@collaborativefusion.com> writes:
> > > In response to Alvaro Herrera <alvherre@commandprompt.com>:
> > >> Please change things to save the stat() syscall when the feature is not
> > >> in use.
> >
> > > Do you have a suggestion on how to do that and still have the PG_TRACE1()
> > > work?  That was specifically requested by Simon Riggs.
> >
> > Well, we are NOT paying a stat() call on every single file close,
> > whether Simon wants it or not.
>
> Simon doesn't/wouldn't want the stat() call on each file close.
>
> If you put the PG_TRACE macro outside of the if test, yet prior to the
> file close, you can pass the filename through like this
>
>     PG_TRACE1(temp__file__cleanup, vfdP->fileName);
>
> That way DTrace can make its own call to find out filesize, if it would
> like to... and we don't need to stat() before each temp file close.
> That's much more flexible and useful, as well as better performance.

OK, I think I've managed to adjust this patch so that everyone is happy ;)
and it's better as well.

* PG_TRACE will work whether the GUC var is enabled or not, it sends the
  fileName, as suggested by Simon
* stat() call is not made if trace_temp_files is disabled
* trace_temp_files is now an int: -1 disables, 0 and up equate to "log if
  the file is this size or larger"
* Cleaned things up a bit -- should be more in line with PostgreSQL
  coding standards
* failed stat is reported as LOG instead of ERROR

Done a bit of testing here, and everything seems to be in order.

--
Bill Moran
Collaborative Fusion Inc.

Attachment

pgsql-patches by date:

Previous
From: "Simon Riggs"
Date:
Subject: Re: [HACKERS] Patch to log usage of temporary files
Next
From: Andrew Dunstan
Date:
Subject: Re: [HACKERS] Patch to log usage of temporary files