windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/w3/server/stats.cxx
2020-09-26 16:20:57 +08:00

129 lines
2.5 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1994 Microsoft Corporation
Module Name :
stats.cxx
Abstract:
Defines functions required for server statistics
Author:
Murali R. Krishnan ( MuraliK ) 04-Nov-1994
Project:
Web Server DLL
Functions Exported:
W3_SERVER_STATISTICS::SERVER_STATISTICS( VOID)
VOID W3_SERVER_STATISTICS::ClearStatistics( VOID)
DWORD CopyToStatsBuffer( LPW3_STATISTICS_1 lpStat)
Revision History:
Sophia Chung ( SophiaC ) 20-Nov-1996
--*/
/************************************************************
* Include Headers
************************************************************/
# include <w3p.hxx>
# include "stats.hxx"
# include "timer.h"
# include "time.h"
/************************************************************
* Functions
************************************************************/
W3_SERVER_STATISTICS::W3_SERVER_STATISTICS( VOID)
/*++
Initializes statistics information for server.
--*/
{
INITIALIZE_CRITICAL_SECTION( & m_csStatsLock);
ClearStatistics();
} // W3_SERVER_STATISTICS::W3_SERVER_STATISTICS();
VOID
W3_SERVER_STATISTICS::ClearStatistics( VOID)
/*++
Clears the counters used for statistics information
--*/
{
LockStatistics();
memset( &m_W3Stats, 0, sizeof(W3_STATISTICS_1) );
m_W3Stats.TimeOfLastClear = GetCurrentTimeInSeconds();
UnlockStatistics();
} // W3_SERVER_STATISTICS::ClearStatistics()
DWORD
W3_SERVER_STATISTICS::CopyToStatsBuffer( LPW3_STATISTICS_1 lpStat)
/*++
Description:
copies the statistics data from the server statistcs structure
to the W3_STATISTICS_1 structure for RPC access.
Arugments:
lpStat pointer to W3_STATISTICS_1 object which contains the
data on successful return
Returns:
Win32 error codes. NO_ERROR on success.
--*/
{
DBG_ASSERT( lpStat != NULL);
LockStatistics();
CopyMemory( lpStat, &m_W3Stats, sizeof(W3_STATISTICS_1) );
UnlockStatistics();
if (lpStat->ServiceUptime)
{
lpStat->ServiceUptime = GetCurrentTimeInSeconds() - lpStat->ServiceUptime;
}
return ( NO_ERROR);
} // CopyToStatsBuffer()
VOID
W3_SERVER_STATISTICS::UpdateStartTime ()
{
m_W3Stats.ServiceUptime = GetCurrentTimeInSeconds();
}
VOID
W3_SERVER_STATISTICS::UpdateStopTime ()
{
m_W3Stats.ServiceUptime = 0;
}
/************************ End of File ***********************/