Understanding Resource Manager Summary Database Updates 1) Resource Manager Summary logs are parsed line by line during the update process and inserted in the summary database during the configured update time. XP Server IMA RM Log XP Server IMA RM Log DCS Data Connection Server XP Server IMA RM Log RM Farm Summary DB Before a file is recorded into the summary database, Resource Manager verifies the version of the log file is compatible version of the summary database. Resource Manager compares the value next to the HEADER descriptor against the schemaversion table version field. It must be equal to or greater than the log file’s value Log File Header Example HEADER27,"TSFTL1","WORKGROUP","MR Farm" 2) The Resource Manager Data Connection server executes ADD/* procedures on each line of the summary log located under %SystemRoot%\Program Files\Citrix\Citrix Resource Manager\Summary Files to record the Resource Manager farm data. 3) Error and status of summary updates are located under %SystemRoot%:\Program Files\Citrix\Citrix Resource Manager\ServerLogs. 4) Further information is available in the Feature Release 3 Resource Manager Administrator’s Guide including the document schema (pg 93) Procedure Information AddSession procedure updates SDBSESSION table and its related Look up tables (LU) on sessions connected to the Citrix Farm. Parameters @sUserName - User Name @sNetDomain - Domain @sServerName - Server Name @sFarmName - Farm Name @sClientName – Citrix ICA Client Name @iClientAddressFamily - protocol type @sClientAddress – Client Network Address (IP) @sAppName - Application Name @iAppType - Application type: 0 = MetaFrame published application, 1 Resource Manager application @sWinStation – Winstation Name (Example @iProtocol - Protocol ID @dSessionStart - Session Start time @dSessionEND - Session End time @fDuration f - Duration of connection @iServerUTCBias - Used to calculate Server’s UTC time @iSessionUTCBias - Used to calculate Session Bias @iSessionID - Numeric ID of winstation @sUserDomain - User Logon Domain Example AddSession N'rene', N'MyDomain', N'Myserver', N'MR Farm', N'FTLNRENEAIBMPAD', 2, N'10.3.4.102', N' ', <- Initial App connected or “” if desktop 0, N'ICA-tcp/#4', 1, 'Mar 10 2005 2:42:47:000PM', NULL, Session has not ended when Resource Manager recorded information in summary database NULL, Session has not ended when Resource Manager recorded information in summary database 300, 300, 4, N'MyServer' AddProcess procedure updates SDB_PROCESS table and its related Look up tables (LU) on processes executed on the Citrix MetaFrame Server. Parameters @sUserName User Name @sNetDomain Domain @sServerName Server @sFarmName Server Name @sClientName Client Name @iClientAddressFamily Protocol type @sClientAddress Client Network Address @sAppName Initial Application @iAppType - Application type: 0 = MetaFrame published application, 1 Resource Manager application @sPathName Path of executable @sProcessName Process Name @sVersion Version @dProductDate Build Date of executable @iType Process Type @iPID Process ID @iExitCode Exit code when application terminated @iAffinity A mask indicating which processor(s) the process can use to execute itself @dStartTime Process creation time @dEndTime Process termination time @fTotalTime Total excitation time @fActiveTime A summation of all monitored periods of a process where the CPU time was greater than 1% @fKernelUse The percentage of kernel CPU time the process has used during its lifetime @fUserUseThe percentage of user CPU time the process has used during its lifetime @fUserActive The percentage of user CPU that was being used during the ACTIVETIME @fKernelActive The percentage of kernel CPU that was being used during the ACTIVETIME @fMemory Sum of the average number of megabytes per minute used by the process during its lifetime @fMemoryActive The number of megabytes per minute used by the process during the ACTIVETIME @iWorkSet The peak recorded working set of the processes at any point during its lifetime @iPageFile The peak page file allocated to process in bytes at any point in its lifetime @iPageFaults The number of page faults that occurred @iPagedPool The peak paged pool usage in bytes at any point in its lifetime @iNonPagedPool The peak non-paged pool usage in bytes at any point in its Lifetime @iSessID Numeric ID of winstation @iServerUTCBias - Used to calculate Server’s UTC time @sUserDomain – Login domain @dSessionStart - Session Start time Example 'rene', 'WORKGROUP', 'TSFTL1', 'Citrix Farm', 'FTL-WIN2K3', 2, '184.108.40.206', ' ', 0, 'c:\program files\intuit\quickbooks pro\components\qbagent\', 'qbmsgmgr.exe', '10.0.0.1', 'Dec 2 2004 5:30:56:000PM', 0, 4536, 0, 1, 'Mar 19 2005 3:16:57:000AM', 'Mar 19 2005 3:17:03:000AM', 6.172000000000000e+003, 6.155000000000000e+003, 1.263000011444092e+000, 7.450000047683716e-001, 5.030000209808350e-001, 1.023000001907349e+000, 1.602994743734598e-003, 1.602994743734598e-003, 2785280, 753664, 892, 19092, 4188, 12, 300, 'TSFTL1', 'Mar 18 2005 9:50:26:000PM' AddMetric procedure updates SDBMETRICS table and its related Look up tables (LU) on configured Resource Manager server metrics. Parameters @sServerName – Server Name @sNetDomain - Domain Name @sFarmName - Farm Name @sObject - Object Name @sMetricCounter – Counter Name @sInstance – Instance name @dMetricUpdateTime @iServerUTCBias - Used to calculate Server’s UTC time @iMetricSamplePeriod - Sample period of summary record in seconds @iMetricDataCount - Number of data points used to summarize this row @fMinMetricValue - Minimum metric value @fMaxMetricValue - Maximum metric value @fMeanMetricValue - Mean metric value @fStdDevMetricValue - Standard deviation of metric values @sFolder – Folder location of server @sZone – Zone location of server Example 'CitrixServer', 'WORKGROUP', 'MR Farm', 'Citrix MetaFrame XP', 'Data Store Connection Failure', ' ', 'Mar 19 2005 6:23:49:000AM', 300, 3633, 80, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000, 'Servers/', '192.168.1.0 Purging Procedures The following procedures execute based upon the retention period of data configured in the summary database. PurgeEvents Purges the SDB_EVENTLOG table of old records. This table stores generic IMA Service up and IMA Service down events that occur on a server farm. Parameters @farmName - Farm Name @sCutoffDate - All data prior to this date will be removed PurgeMetrics Purges the SDB_Metrics table and related tables. This table stores all metrics imported from each Resource Manager server in the server farm. Parameters @farmName - Farm Name @sCutoffDate - All data prior to this date will be removed PurgeBilledSessProc Purges the SDB_Session table and its related tables once the session has been billed. This table stores session data per user. Parameters @farmName - Farm Name @sCutoffDate - All data prior to this date will be removed except for NULL Session End entries. PurgeUnbilledSessProc Purges the SDB_Session table and its related tables. This table stores session data per user. Parameters @farmName - Farm Name @sCutoffDate - All session data prior to this date will be removed except for NULL Session end entries.