[ic] Logging slow pages

Bill Carr bill at worldwideimpact.com
Wed Jun 14 08:30:31 EDT 2006


On Jun 14, 2006, at 7:51 AM, Mark Johnson wrote:

> Bill Carr wrote:
>>
>> On Jun 13, 2006, at 9:55 AM, Stefan Hornburg (Racke) wrote:
>>
>>> Bill Carr wrote:
>>>>
>>>> And thanks to Racke for his tip. I did this:
>>>> AutoLoad <<EOA
>>>> [perl global=1]
>>>>     $Tmp->{StartTime} = time;
>>>> [/perl]
>>>> EOA
>>>
>>> Global is not necessary for that. If the code above doesn't work,  
>>> try
>>> $Tag->tmp();
>> I need global for 'time'. I thought it might not be necessary after I
>> made my last post but I got the following when I took it away:
>> /var/log/interchange/debug.log.1:Safe: 'time' trapped by operation  
>> mask
>> at (tag 'perl') line 2.
>
> Use IC's [time] instead:
> [calcn]
> 	$Tag->tmpn('StartTime', $Tag->time({},'%s'));
> 	return;
> [/calcn]
>
> Then you access it via $Scratch->{StartTime}:
>
> [calcn]
>      my $long_page_time = $Variable->{LONG_PAGE_TIME} || 5;
>      my $page_time = $Tag->time({},'%s') - $Scratch->{StartTime};
>      if ($page_time >= $long_page_time) {
>           my $mv_page = $Tag->var('MV_PAGE',1);
>           my $remote_addr = $Session->{shost} || $Session->{ohost};
>           Debug(qq{Slow page: $Variable->{IC_CATALOG}/$mv_page, Time:
> $page_time, remote_host: $remote_addr, CGI:} .
>  ::uneval($CGI));
>      }
>      return;
> [/calcn]
>
> I think that addresses all Safe issues and allows you to use calcn
> instead of perl, which has lower overhead.
Thank you. I have it hooked up and working.

Bill



More information about the interchange-users mailing list