[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] log/tmplgpln legacy_access_log.h,1.9,1.10
From:       rasher () helixcommunity ! org
Date:       2007-10-30 10:18:19
Message-ID: 200710301018.l9UAISdx004407 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/log/tmplgpln
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv21165

Modified Files:
	legacy_access_log.h 
Log Message:
Synopsis
 ==========

This CR is a fix for FCS for handling stats for each clip separately.

Branches           :  HEAD
Suggested Reviewer :  Jamie

  Description
  ============

1)    StatDone for each clip returns the file size but it was obtained
only for the first clip.We want the file size for every clip

2)  If format style less than 7( FORMAT_STYLE7_SERVER) then the session
stats  methods get called for e.g.GetURL and GetDuration.m_pStats is only
1 per clientSession and was not updated for every clip.

  Fix
 ===========

    StatDone for each clip is now obtained as when Stat is called on the
file object the response object is the CSwitchElement which is 1 per
clip.So each clips StatDone is received in the per clip CSwitchElement.

    CSwitchElement is made to derive from IHXFileStatResponse and becomes
the response object.Now CSwitchElement is not deleted but AddRef'd and
Released. InitClipStats and ClipDone now have an argument which is the
ClipStats object.
    In CTBaseLog::LookupOutputArg if format style less than 7(
FORMAT_STYLE7_SERVER) then SessionStats methods are called.in this
method we check whether pClipStats is non NULL and call ClipStats
method for common methods for e.g.GetURL,GetDuration.Now we get the
correct URL,duration etc. for


  Files Affected
 ================

  server\engine\session\clientsession.cpp
  server\engine\session\pub\clientsession.h
  server\log\tmplgpln\legacy_access_log.h

  Testing Performed
 =================
Integration Tests:
Tested with switching clips for a session.File size is correctly logged
for each switching clip.Also if format < 7 urls for each
clip,filesize,duration are correctly logged for each clip.

Leak Tests:
No leaks related to these changes.All the SwitchElements for each clip are
freed.

Performance Tests: n/a

Build verified: win32-i386-vc7, linux-rhel4, Sunos-5.10

Platforms tested: win32-i386-vc7



 QA Hints
===========





Thanks
Raj  Asher



Index: legacy_access_log.h
===================================================================
RCS file: /cvsroot/server/log/tmplgpln/legacy_access_log.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- legacy_access_log.h	31 Aug 2007 01:31:47 -0000	1.9
+++ legacy_access_log.h	30 Oct 2007 10:18:16 -0000	1.10
@@ -63,39 +63,39 @@
 #define MAX_STYLE               7
 
 #define FORMAT_STYLE0_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] \
%Client.*.Session.*.LogStats%\n"   
 #define FORMAT_STYLE1_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] %Client.*.Session.*.LogStats% \
                " \
-                                "%Client.*.Session.*.FileSize% \
%Client.*.Session.*.DurationSeconds% %Client.*.Session.*.SendingTime% " \ +           \
"%Client.*.Session.*.Clip.*.FileSize% %Client.*.Session.*.Clip.*.DurationSeconds% \
                %Client.*.Session.*.SendingTime% " \
                                 "%Client.*.Session.*.SuccessfulResends% \
%Client.*.Session.*.FailedResends%\n"  
 #define FORMAT_STYLE2_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] [%Client.*.GUID%] \
                %Client.*.Session.*.LogStats% " \
-                                "%Client.*.Session.*.FileSize% \
%Client.*.Session.*.DurationSeconds% %Client.*.Session.*.SendingTime% " \ +           \
"%Client.*.Session.*.Clip.*.FileSize% %Client.*.Session.*.Clip.*.DurationSeconds% \
                %Client.*.Session.*.SendingTime% " \
                                 "%Client.*.Session.*.SuccessfulResends% \
%Client.*.Session.*.FailedResends%\n"  
 #define FORMAT_STYLE3_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] [%Client.*.GUID%] \
                %Client.*.Session.*.LogStats% " \
-                                "%Client.*.Session.*.FileSize% \
%Client.*.Session.*.DurationSeconds% %Client.*.Session.*.SendingTime% " \ +           \
"%Client.*.Session.*.Clip.*.FileSize% %Client.*.Session.*.Clip.*.DurationSeconds% \
                %Client.*.Session.*.SendingTime% " \
                                 "%Client.*.Session.*.SuccessfulResends% \
                %Client.*.Session.*.FailedResends% " \
                                 "[%Client.*.Session.*.IsRAStreamFound% \
                %Client.*.Session.*.IsRVStreamFound% " \
                                 "%Client.*.Session.*.IsREStreamFound% \
                %Client.*.Session.*.IsRIStreamFound%] "\
                                 "[%Client.*.StartTime%] \
%Client.*.Session.*.InterfaceAddress%\n"  
 #define FORMAT_STYLE4_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] [%Client.*.GUID%] \
                %Client.*.Session.*.LogStats% " \
-                                "%Client.*.Session.*.FileSize% \
%Client.*.Session.*.DurationSeconds% %Client.*.Session.*.SendingTime% " \ +           \
"%Client.*.Session.*.Clip.*.FileSize% %Client.*.Session.*.Clip.*.DurationSeconds% \
                %Client.*.Session.*.SendingTime% " \
                                 "%Client.*.Session.*.SuccessfulResends% \
                %Client.*.Session.*.FailedResends% " \
                                 "[%Client.*.Session.*.IsRAStreamFound% \
                %Client.*.Session.*.IsRVStreamFound% " \
                                 "%Client.*.Session.*.IsREStreamFound% \
%Client.*.Session.*.IsRIStreamFound%] "\ @@ -103,18 +103,18 @@
                                 "%Client.*.Session.*.PacketsSent%\n"
                                
 #define FORMAT_STYLE5_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] [%Client.*.GUID%] \
                %Client.*.Session.*.LogStats% " \
-                                "%Client.*.Session.*.FileSize% \
%Client.*.Session.*.DurationSeconds% %Client.*.Session.*.SendingTime% " \ +           \
"%Client.*.Session.*.Clip.*.FileSize% %Client.*.Session.*.Clip.*.DurationSeconds% \
                %Client.*.Session.*.SendingTime% " \
                                 "%Client.*.Session.*.SuccessfulResends% \
%Client.*.Session.*.FailedResends% " \  "%Client.*.PresentationID%\n" 
 
 #define FORMAT_STYLE6_SERVER    "%Client.*.IPAddress% - - \
                [%Day%/%AbbrevMonth%/%Year%:%Hour%:%Min%:%Sec% %TZDiff%]  " \
-                                "\"%Client.*.RequestMethod% %Client.*.Session.*.URL% \
                %Client.*.Protocol%%Client.*.ProtocolID%/" \
-                                "%Client.*.Version%\" %Client.*.Session.*.Status% \
%Client.*.Session.*.BytesSent% " \ +                                \
"\"%Client.*.RequestMethod% %Client.*.Session.*.Clip.*.URL% \
%Client.*.Protocol%%Client.*.ProtocolID%/" \ +                                \
"%Client.*.Version%\" %Client.*.Session.*.Clip.*.Status% \
                %Client.*.Session.*.BytesSent% " \
                                 "[%Client.*.ClientId%] [%Client.*.GUID%] \
                %Client.*.Session.*.LogStats% " \
-                                "%Client.*.Session.*.FileSize% \
%Client.*.Session.*.DurationSeconds% %Client.*.Session.*.SendingTime% " \ +           \
"%Client.*.Session.*.Clip.*.FileSize% %Client.*.Session.*.Clip.*.DurationSeconds% \
                %Client.*.Session.*.SendingTime% " \
                                 "%Client.*.Session.*.SuccessfulResends% \
                %Client.*.Session.*.FailedResends% " \
                                 "[%Client.*.Session.*.IsRAStreamFound% \
                %Client.*.Session.*.IsRVStreamFound% " \
                                 "%Client.*.Session.*.IsREStreamFound% \
%Client.*.Session.*.IsRIStreamFound%] "\


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic