You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.8 KiB
59 lines
1.8 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef MPI_STATS_H
|
|
#define MPI_STATS_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
|
|
// The VMPI stats module reports a bunch of statistics to a MySQL server, and the
|
|
// stats can be used to trace and graph a compile session.
|
|
//
|
|
|
|
// Call this as soon as possible to initialize spew hooks.
|
|
void VMPI_Stats_InstallSpewHook();
|
|
|
|
//
|
|
// pDBServerName is the hostname (or dotted IP address) of the MySQL server to connect to.
|
|
// pBSPFilename is the last argument on the command line.
|
|
// pMachineIP is the dotted IP address of this machine.
|
|
// jobID is an 8-byte unique identifier for this job.
|
|
//
|
|
bool VMPI_Stats_Init_Master( const char *pHostName, const char *pDBName, const char *pUserName, const char *pBSPFilename, unsigned long *pDBJobID );
|
|
bool VMPI_Stats_Init_Worker( const char *pHostName, const char *pDBName, const char *pUserName, unsigned long DBJobID );
|
|
void VMPI_Stats_Term();
|
|
|
|
// Add a generic text event to the database.
|
|
void VMPI_Stats_AddEventText( const char *pText );
|
|
|
|
class CDBInfo
|
|
{
|
|
public:
|
|
char m_HostName[128];
|
|
char m_DBName[128];
|
|
char m_UserName[128];
|
|
};
|
|
|
|
// If you're the master, this loads pDBInfoFilename, sends that info to the workers, and
|
|
// connects to the database.
|
|
//
|
|
// If you're a worker, this waits for the DB info, then connects to the database.
|
|
void StatsDB_InitStatsDatabase(
|
|
int argc,
|
|
char **argv,
|
|
const char *pDBInfoFilename );
|
|
|
|
// The database gives back a unique ID for the job.
|
|
unsigned long StatsDB_GetUniqueJobID();
|
|
|
|
// Get the worker ID (used for the JobWorkerID fields in the database).
|
|
unsigned long VMPI_Stats_GetJobWorkerID();
|
|
|
|
|
|
#endif // MPI_STATS_H
|