Thread: Profiling?

Profiling?

From
Leon
Date:
Hi!

How do you profile backend? It complains about 'profile timer expired'
apparently due to waiting on socket. Maybe some compile option is 
missing or there is other trick?

-- 
Leon.
-------
He knows he'll never have to answer for any of his theories actually 
being put to test. If they were, they would be contaminated by reality.


Re: [HACKERS] Profiling?

From
Bruce Momjian
Date:
Yes, I have done it many times.  I profile that postgres process, not
the backend.  Look for this in Makefile.global:
# Comment out PROFILE to generate a profile version of the binaries#PROFILE= -p -non_shared


> Hi!
> 
> How do you profile backend? It complains about 'profile timer expired'
> apparently due to waiting on socket. Maybe some compile option is 
> missing or there is other trick?
> 
> -- 
> Leon.
> -------
> He knows he'll never have to answer for any of his theories actually 
> being put to test. If they were, they would be contaminated by reality.
> 
> ************
> 


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Profiling?

From
Leon
Date:
Bruce Momjian wrote:
> 
> Yes, I have done it many times.  I profile that postgres process, not
> the backend. 

Hmm, isn't Postgres process called backend process? AFAIK postmaster
(it's simply a nickname to Postgres) forks itself on receiveing new
connection request. Isn't it true? I mean that Postmaster is the same 
binary as Postgres itself.

> Look for this in Makefile.global:
> 
>         # Comment out PROFILE to generate a profile version of the binaries
>         #PROFILE= -p -non_shared
> 

Of course I used -p option. The problem is, when I start Postmaster,
it complains about 'profile timer expired'. What do I do wrong?

-- 
Leon.
-------
He knows he'll never have to answer for any of his theories actually 
being put to test. If they were, they would be contaminated by reality.



Re: [HACKERS] Profiling?]

From
Bruce Momjian
Date:
> Bruce Momjian wrote:
> > 
> > Yes, I have done it many times.  I profile that postgres process, not
> > the backend. 
> 
> Hmm, isn't Postgres process called backend process? AFAIK postmaster
> (it's simply a nickname to Postgres) forks itself on receiveing new
> connection request. Isn't it true? I mean that Postmaster is the same 
> binary as Postgres itself.

Yes.

> 
> > Look for this in Makefile.global:
> > 
> >         # Comment out PROFILE to generate a profile version of the binaries
> >         #PROFILE= -p -non_shared
> > 
> 
> Of course I used -p option. The problem is, when I start Postmaster,
> it complains about 'profile timer expired'. What do I do wrong?

That's strange.  I have not profiled in a while.  I wonder if the
removal of the exec() has caused this.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: [HACKERS] Profiling?]

From
Leon
Date:
Bruce Momjian wrote:

> > >
> > >         # Comment out PROFILE to generate a profile version of the binaries
> > >         #PROFILE= -p -non_shared
> > >
> >
> > Of course I used -p option. The problem is, when I start Postmaster,
> > it complains about 'profile timer expired'. What do I do wrong?
> 
> That's strange.  I have not profiled in a while.  I wonder if the
> removal of the exec() has caused this.

BTW, gcc on Linux doesn't understand the option -non_shared. Maybe
that is the cause? In general, who and where should I talk to on 
that strange matter? Info and man seem not to say anything about it.

-- 
Leon.
-------
He knows he'll never have to answer for any of his theories actually 
being put to test. If they were, they would be contaminated by reality.



Re: [HACKERS] Profiling?]

From
Tom Lane
Date:
Bruce Momjian <maillist@candle.pha.pa.us> writes:
>> Of course I used -p option. The problem is, when I start Postmaster,
>> it complains about 'profile timer expired'. What do I do wrong?

> That's strange.  I have not profiled in a while.  I wonder if the
> removal of the exec() has caused this.

I've done profiles successfully (with gcc -pg + gprof on HPUX) since
the exec change.  I think Leon is running into some sort of platform-
specific profiler bug, but I dunno how to get around it.
        regards, tom lane