FireBirdLib - Topfield TMS PVR TAP Programming Library
CallTraceExportStats.c
Go to the documentation of this file.
1#include <fcntl.h>
2#include <unistd.h>
3#include <string.h>
4#include "FBLib_debug.h"
5
6void CallTraceExportStats(char *FileName)
7{
8 char Output[512];
9 char AbsFileName[FBLIB_DIR_SIZE];
10 int f;
11 double t;
12 int i;
13
15
16 if(CallTraceStats && FileName)
17 {
18 ConvertPathType(FileName, AbsFileName, PF_FullLinuxPath);
19 f = open(AbsFileName, O_WRONLY | O_CREAT | O_TRUNC);
20 if(f >= 0)
21 {
22 strcpy(Output, "Name;NrCalls;MinTime;MaxTime;TotalTime;AvgTime\r\n");
23 write(f, Output, strlen(Output));
24
25 for(i = 0; i < CallTraceStatsEntries;i++)
26 {
27 if(CallTraceStats[i].NrCalls)
28 t = (double)(CallTraceStats[i].TotalTime * 10) / CallTraceStats[i].NrCalls;
29 else
30 t = 0;
31 TAP_SPrint(Output, "%s;%lu;%lu;%lu;%lu;%1.1f\r\n", CallTraceStats[i].ProcName, CallTraceStats[i].NrCalls, CallTraceStats[i].MinTime*10, CallTraceStats[i].MaxTime*10, CallTraceStats[i].TotalTime*10, t);
32 write(f, Output, strlen(Output));
33 }
34 close(f);
35 }
36 }
37}
void CallTraceExportStats(char *FileName)
bool CallTraceInitialized
Definition: CallTraceInit.c:6
int CallTraceStatsEntries
Definition: CallTraceInit.c:8
tCallTraceStats * CallTraceStats
Definition: CallTraceInit.c:7
void CallTraceInit(void)
Definition: CallTraceInit.c:11
void ConvertPathType(const char *Source, char *Dest, tPathFormat DestFormat)
#define FBLIB_DIR_SIZE
Definition: libFireBird.h:1871
@ PF_FullLinuxPath
Definition: libFireBird.h:1926