Lisp HUG Maillist Archive

Profiling a multiprocessing server?


We have an portableaserve based server that I would like to profile
and I'm not sure how to do that.  The server side function performs a
calculation and returns in less that one second.  It is that function
that we wish to profile.

What we would like to do is to turn let the server run for a few
minutes and collect profiling information on that function and
everything else in the package.  

Is there a way to turn on profiling, let the system run, and then
print out the profiling information using hcl:print-profile-list ?

I've tried the simple thing of just wrapping my server side function
in hcl:profile (so hcl:profile is called hundreds of times) but I
don't think that is working -- after a running for a few minutes
hcl:print-profile-list sometimes reports:

    No profiler data collected - may need to increase the length of the
    run.

Thanks again folks!

Regards,
Chris Dean


Re: Profiling a multiprocessing server?

Cl-http has had this built in for years.  Works on the Lisp Machine  
and probably LW.

You might have a look and see how it works.

On May 9, 2006, at 3:55 AM, Chris Dean wrote:

>
>
> We have an portableaserve based server that I would like to profile
> and I'm not sure how to do that.  The server side function performs a
> calculation and returns in less that one second.  It is that function
> that we wish to profile.
>
> What we would like to do is to turn let the server run for a few
> minutes and collect profiling information on that function and
> everything else in the package.
>
> Is there a way to turn on profiling, let the system run, and then
> print out the profiling information using hcl:print-profile-list ?
>
> I've tried the simple thing of just wrapping my server side function
> in hcl:profile (so hcl:profile is called hundreds of times) but I
> don't think that is working -- after a running for a few minutes
> hcl:print-profile-list sometimes reports:
>
>     No profiler data collected - may need to increase the length of  
> the
>     run.
>
> Thanks again folks!
>
> Regards,
> Chris Dean
>


Re: Profiling a multiprocessing server?

On Tue, May 09, 2006 at 12:55:59AM -0700, Chris Dean wrote:
> We have an portableaserve based server that I would like to profile
> and I'm not sure how to do that.  The server side function performs a
> calculation and returns in less that one second.  It is that function
> that we wish to profile.

I have a similar issue in that I'd like to profile the activity on a
Lispworks ORB Corba server.  I've written my own profiling infrastructure,
which is nice in many ways, but it would be good to get fine-grained
sampled profiling data from Lispworks too (i.e. the usually function
stack information from the profiling tool), and I can't figure out how.

-bcd


Re: Profiling a multiprocessing server?


bdowning@lavos.net (Brian Downing) writes:
> I have a similar issue in that I'd like to profile the activity on a
> Lispworks ORB Corba server.  

Yes, that's the same issue I'm having.

Regards,
Chris Dean


Re: Profiling a multiprocessing server?


"John C. Mallery" <jcma@csail.mit.edu> writes:
> If the Lisp supports thread-aware profiling code, you could invoke it
> similarly as was done for the lisp machine.

That's exactly what I'm looking for.  I'm interested in measuring a
fine grain profile of my code that is called in the response
function.  I don't know if LispWorks can do that.

Regards,
Chris Dean


Re: Profiling a multiprocessing server?

Unable to parse email body. Email id is 5573

Re: Profiling a multiprocessing server?


Martin Simmons <martin@lispworks.com> writes:
> The profiler looks at all threads when invoked using the PROFILE macro, so try
> something like
>
> (profile (sleep 10))
>
> in a Listener and then exercise the server threads before SLEEP returns.

Works perfectly - thanks!

Regards,
Chris Dean


Updated at: 2020-12-10 08:48 UTC