Hi Waleed,

You may find this blog post useful for explaining the various fields of log
entries:
http://blog.notdot.net/2011/06/Demystifying-the-App-Engine-request-logs

pending_ms is the amount of time the request spent waiting on an app server
to become available to execute the task.

-Nick Johnson

On Wed, Jun 22, 2011 at 8:45 AM, Waleed Abdulla <wal...@ninua.com> wrote:

> Good catch, thanks. I'm guessing that pending_ms is the time a request
> stays on hold before execution? I couldn't find it documented anywhere. If
> so, then the question is: why would a request be in a pending state? Is it
> waiting for an instance to be free?
>
> This might also be related to my other thread about the task queue not
> scaling up [1].
>
> Thanks,
> Waleed
>
> [1]
> http://groups.google.com/group/google-appengine/browse_thread/thread/f8d1c6f39ad2af27/c989b852d1011cd6
>
>
>
>
>
> On Tue, Jun 21, 2011 at 3:33 PM, Nicholas Verne <nve...@google.com> wrote:
>
>> One other note:
>>
>> In a large number of cases, if you the pending_ms (when it exists) to
>> your measurement, you come close to the ms value you circled at the
>> top.
>>
>> Nick Verne
>>
>> On Wed, Jun 22, 2011 at 8:18 AM, Nicholas Verne <nve...@google.com>
>> wrote:
>> > Waleed,
>> >
>> > I'm going to have to ask one of the other infrastructure engineers
>> > about the log lines. The value you have circled (18386ms) is not
>> > always greater than the cpu_ms. I'm not sure what this value
>> > indicates.
>> >
>> > Nick Verne
>> >
>> > On Wed, Jun 22, 2011 at 6:27 AM, Waleed Abdulla <wal...@ninua.com>
>> wrote:
>> >> Nicholas,
>> >>     I implemented the change you suggested (making task_t0) a global
>> >> variable, but that didn't change the calculations. I'm attaching
>> another
>> >> screen shot. There is a big difference between the actual processing
>> time
>> >> and the time reported in the logs. It doesn't happen in all tasks, but
>> it's
>> >> often enough that it's slowing down my application considerably and
>> causing
>> >> a lot of user complaints.
>> >>     I also calculated the total time to load the module (including time
>> for
>> >> imports). It doesn't seem to take much time (sub 1 second), and it
>> happens
>> >> only once right after I deploy a new version. So that is not an issue.
>> >>     I've set the processing rate, bucket size, and max concurrency on
>> the
>> >> task queue to high numbers (much higher than I need).
>> >>     Any explanation for why this is happening?
>> >> Waleed
>> >>
>> >>
>> >>
>> >> On Mon, Jun 20, 2011 at 6:54 PM, Brandon Wirtz <drak...@digerat.com>
>> wrote:
>> >>>
>> >>> Use a fetch from one thread to another.
>> >>>
>> >>> Echo Time
>> >>> Fetch
>> >>>        Echo Time
>> >>>        Do something
>> >>>        Echo Time
>> >>> Echo Fetch
>> >>>
>> >>> Now you have a timeline of everything except the latency from User to
>> >>> Appengine.
>> >>>
>> >>>
>> >>> -----Original Message-----
>> >>> From: google-appengine@googlegroups.com
>> >>> [mailto:google-appengine@googlegroups.com] On Behalf Of Nicholas
>> Verne
>> >>> Sent: Monday, June 20, 2011 6:03 PM
>> >>> To: google-appengine@googlegroups.com
>> >>> Subject: Re: [google-appengine] Why a big difference between execution
>> >>> time
>> >>> and response time?
>> >>>
>> >>> Yes, that's true. If you try this:
>> >>>
>> >>> task_t0 = None
>> >>>
>> >>> ...
>> >>>
>> >>>
>> >>> def main(argv):
>> >>>  global task_t0
>> >>>  task_t0 = time.time()
>> >>>
>> >>> You'll get a measurement per request as early as we can make it. For
>> >>> warming
>> >>> requests, it might still be worth measuring the import time
>> >>>
>> >>> import time
>> >>> import_start = time.time()
>> >>> ... other imports
>> >>> import_duration = time.time() - import_start
>> >>>
>> >>> The import_duration global should persist and tell you how long this
>> >>> instance's imports took to process. Subsequent requests on that
>> instance
>> >>> don't do the imports.
>> >>>
>> >>> Nick Verne
>> >>>
>> >>> On Tue, Jun 21, 2011 at 10:49 AM, Waleed Abdulla <wal...@ninua.com>
>> wrote:
>> >>> >> A more useful measurement might be to set task_t0 as a global
>> >>> >> variable at the top of your file, with only the import of "time"
>> >>> >> preceding it
>> >>> >
>> >>> > Wouldn't that cause the 2nd, 3rd, ...nth requests to the same
>> handler
>> >>> > to show wrong values? I see why setting task_t0 at the top of the
>> file
>> >>> > would apply if it was the first request that causes the handler to
>> be
>> >>> > loaded. But this is happening on an ongoing basis for all requests,
>> >>> > not only the first for that handler.
>> >>> >
>> >>> > --
>> >>> > You received this message because you are subscribed to the Google
>> >>> > Groups "Google App Engine" group.
>> >>> > To post to this group, send email to
>> google-appengine@googlegroups.com.
>> >>> > To unsubscribe from this group, send email to
>> >>> > google-appengine+unsubscr...@googlegroups.com.
>> >>> > For more options, visit this group at
>> >>> > http://groups.google.com/group/google-appengine?hl=en.
>> >>> >
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to the Google
>> Groups
>> >>> "Google App Engine" group.
>> >>> To post to this group, send email to
>> google-appengine@googlegroups.com.
>> >>> To unsubscribe from this group, send email to
>> >>> google-appengine+unsubscr...@googlegroups.com.
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/google-appengine?hl=en.
>> >>>
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to the Google
>> Groups
>> >>> "Google App Engine" group.
>> >>> To post to this group, send email to
>> google-appengine@googlegroups.com.
>> >>> To unsubscribe from this group, send email to
>> >>> google-appengine+unsubscr...@googlegroups.com.
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/google-appengine?hl=en.
>> >>>
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "Google App Engine" group.
>> >> To post to this group, send email to google-appengine@googlegroups.com
>> .
>> >> To unsubscribe from this group, send email to
>> >> google-appengine+unsubscr...@googlegroups.com.
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/google-appengine?hl=en.
>> >>
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google App Engine" group.
>> To post to this group, send email to google-appengine@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to