Re: GetTickCount()/timeGetTime across processes
From: Uwe (ub_at_liant.com)
Date: 12/09/04
- Next message: Matt: "Monitor Thread In DLL"
- Previous message: Chuck Chopp: "Re: detecting cached credentials on NT/2K/XP/03"
- In reply to: Slava M. Usov: "Re: GetTickCount()/timeGetTime across processes"
- Next in thread: Slava M. Usov: "Re: GetTickCount()/timeGetTime across processes"
- Reply: Slava M. Usov: "Re: GetTickCount()/timeGetTime across processes"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 9 Dec 2004 12:04:05 -0600
"Slava M. Usov" <stripit.slough@gmx.net> wrote in message
news:%23$B%23mmd3EHA.1264@TK2MSFTNGP12.phx.gbl...
> "Uwe" <ub@liant.com> wrote in message
> news:#yQ98bW3EHA.3120@TK2MSFTNGP12.phx.gbl...
>
> [...]
>
>> 1. Client calls timeGetTime() and writes the tick count to a log file.
>> 2. Client issues the HTTP request
>> 3. The server process receives the request, calls timeGetTime() and logs
>> when the request arrived
>> 4. The server process does its thing and returns a HTTP response.
>> 5. The client receives the response, calls timeGetTime(), and logs when
>> the response arrived.
>>
>> (This is all on the same machine, of course using `localhost` in the
>> URL.)
>>
>> The logfiles are then merged by an AWK program. The problem is that the
>> timestamp in (3) often is earlier than the timestamp in (1). (1) and (5)
>> are always in sequence, of course.
>
> Do you serialize records in each log? If not, then they may appear out of
> order. Then, how do you correlate records in the three different logs?
The first field of each record in each of the three log files is the tick
count, obtained with timeGetTime(). The awk program sorts the records from
the three log files using the value of the tick count as a key and tagging
each record with the source. So I'd expect to see
CLIENT: Request Sent
ISAPI: processing log records
SERVER: processing log records
CLIENT: Response Received
but because of the tick count inconsistency, sometimes the ISAPI and SERVER
records appear before the initial CLIENT record. Hence the request appears
to be processed before it's even sent.
Anyway, I think we're flogging a dead horse here. The tick count (as
retrieved with timeGetTime() appears to be at least slightly out-of-sync
between processes -- that's just how it is and there' snothing to be done
about it.
--- Uwe
- Next message: Matt: "Monitor Thread In DLL"
- Previous message: Chuck Chopp: "Re: detecting cached credentials on NT/2K/XP/03"
- In reply to: Slava M. Usov: "Re: GetTickCount()/timeGetTime across processes"
- Next in thread: Slava M. Usov: "Re: GetTickCount()/timeGetTime across processes"
- Reply: Slava M. Usov: "Re: GetTickCount()/timeGetTime across processes"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|