Re: Explain analyze getrusage tracking
От | Magnus Hagander |
---|---|
Тема | Re: Explain analyze getrusage tracking |
Дата | |
Msg-id | AANLkTinVPqBk-83ZTm8RZ7VXFvYQ6-WF17335ro7FgHQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Explain analyze getrusage tracking (Greg Stark <stark@mit.edu>) |
Ответы |
Re: Explain analyze getrusage tracking
|
Список | pgsql-hackers |
On Mon, Nov 15, 2010 at 03:33, Greg Stark <stark@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 amember of 'timeval' C:\Program Files\MicrosoftSDKs\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/
В списке pgsql-hackers по дате отправления: