void TimeLogger::end()
{
	struct timeb time;
	string strMessage;
	ftime(&time);
        char* endtimeline = ctime( &time.time  );
        *(endtimeline + 20 + 4 ) = 0;
        *(endtimeline + 19 ) = 0;
        sprintf(endTimeLineText," %.19s.%.3hu ",&endtimeline[11], time.millitm );

	finishTime =  getTimeMilli();
	startToFinish = finishTime - startTime;
    	pfile = fopen(fileName,"a+");
	fprintf(pfile,"-----------------------------------------------------------------------------------------------------------------\n");
		if(!stkMessageStack.empty())
		{
			strMessage=stkMessageStack.top();
			stkMessageStack.pop();
			strMessage+=funcName;
		}
    	fprintf(pfile,"%-120.120s", strMessage.c_str());
		funcName[0]='\0';
		hasEnd=true;
	if(miscArg1[0] != '\0')
    		fprintf(pfile,"%-8.8s", miscArg1);
	else
    		fprintf(pfile,"%-8.8s", miscArg1);
	if(miscArg2[0] != '\0')
    		fprintf(pfile,"%-8.8s", miscArg2);
	else
    		fprintf(pfile,"%-8.8s", miscArg2);
	fprintf(pfile,"%s %s %8.3Lf\n", startTimeLineText, endTimeLineText, startToFinish);
	fclose(pfile);
};
void TimeLogger::start(char* fName, char* arg1, char* arg2)
{
	miscArg1[0]='\0';
	miscArg2[0]='\0';
	startTime=0; finishTime=0;
	memset(startTimeLineText,'\0', sizeof(startTimeLineText));
	memset(endTimeLineText,'\0', sizeof(endTimeLineText));
	hasEnd=false;
	stkMessageStack.push(fName);
	struct timeb currentTime;
	ftime(&currentTime);
        char* starttimeline = ctime( &currentTime.time  );
        *(starttimeline + 20 + 4 ) = 0;
        *(starttimeline + 19 ) = 0;
        sprintf(startTimeLineText," %.19s.%.3hu ",&starttimeline[11], currentTime.millitm );

	startTime = getTimeMilli();
	//strcpy(funcName, fName);
	if(arg1 != NULL)
	strcpy(miscArg1, arg1);
	if(arg2 != NULL)
	strcpy(miscArg2, arg2);

};
Exemple #3
0
 /**
 returns passed time in microseconds.
 */
 CV_WRAP double getTimeMicro() const
 {
 return getTimeMilli()*1e3;
 }