On Mon, Nov 15, 2010 at 03:33, Greg Stark <st...@mit.edu> wrote: > This is an update to my earlier patch to add getrusage resource > tracking to EXPLAIN ANALYZE. > > With this patch you get something like: > > QUERY PLAN > -------------------------------------------------------------------------------------------------------------- > Seq Scan on i (cost=0.00..6919.44 rows=262144 width=101) (actual > time=17.240..1123.751 rows=262144 loops=1) > Resources: sys=210.000ms user=430.000ms read=33.6MB > Buffers: shared read=4298 > Total runtime: 1548.651 ms > (4 rows) > > The main change is to make it work under Windows. At least I think the > changes should make it work under Windows, I haven't been able to test > it. Actually I'm not to happy with the way I did it, I would be more > inclined to hack the getrusagestub,h definition of struct rusage to > have an instr_time in it so that we can use the same macros directly. > But that's more changes than I would be happy making without being > able to compile them to test them.
I tried building this under windows, and got a bunch of errors. First and easiest - you need to rename IOCOUNTERS to IO_COUNTERS in getrusage.c :P But then I get a number of: c:\pgsql\src\include\portability/instr_time.h(133) : error C2371: 'instr_time' : redefinition; different basic types and .\src\backend\utils\adt\pgstatfuncs.c(1345) : error C2039: 'QuadPart' : is not a member of 'timeval' C:\Program Files\Microsoft SDKs\Windows\v6.1\include\winsock2.h(176) : s ee declaration of 'timeval' which believe are related to the same issue. Haven't looked close enough to figure out what you actually intend for it to be :-) Finally, a number of: c:\pgsql\src\include\executor/instrument.h(19) : fatal error C1083: Cannot open include file: 'sys/resource.h': No such file or directory include files simply doesn't exist on Windows. Hiding it behind an #ifdef complains about fields missing in struct rusage in some cases and lack of existing rusage definition in others. I think you need includes of pg_rusage.h, which will make sure it brings in rusagestub.h when necessary and sys/resource.h when it's there? -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers