12 #ifndef ROOT_TVirtualPerfStats
13 #define ROOT_TVirtualPerfStats
32 class TVirtualPerfStats :
public TObject {
35 virtual ~TVirtualPerfStats() {}
49 static TVirtualPerfStats *&CurrentPerfStats();
51 virtual void SimpleEvent(EEventType type) = 0;
53 virtual void PacketEvent(
const char *slave,
const char *slavename,
const char *filename,
54 Long64_t eventsprocessed, Double_t latency,
55 Double_t proctime, Double_t cputime,
56 Long64_t bytesRead) = 0;
58 virtual void FileEvent(
const char *slave,
const char *slavename,
const char *nodename,
59 const char *filename, Bool_t isStart) = 0;
61 virtual void FileOpenEvent(TFile *file,
const char *filename, Double_t start) = 0;
63 virtual void FileReadEvent(TFile *file, Int_t len, Double_t start) = 0;
65 virtual void UnzipEvent(TObject *tree, Long64_t pos, Double_t start, Int_t complen, Int_t objlen) = 0;
67 virtual void RateEvent(Double_t proctime, Double_t deltatime,
68 Long64_t eventsprocessed, Long64_t bytesRead) = 0;
70 virtual void SetBytesRead(Long64_t num) = 0;
71 virtual Long64_t GetBytesRead()
const = 0;
72 virtual void SetNumEvents(Long64_t num) = 0;
73 virtual Long64_t GetNumEvents()
const = 0;
75 virtual void PrintBasketInfo(Option_t *option =
"")
const = 0;
76 virtual void SetLoaded(TBranch *b,
size_t basketNumber) = 0;
77 virtual void SetLoaded(
size_t bi,
size_t basketNumber) = 0;
78 virtual void SetLoadedMiss(TBranch *b,
size_t basketNumber) = 0;
79 virtual void SetLoadedMiss(
size_t bi,
size_t basketNumber) = 0;
80 virtual void SetMissed(TBranch *b,
size_t basketNumber) = 0;
81 virtual void SetMissed(
size_t bi,
size_t basketNumber) = 0;
82 virtual void SetUsed(TBranch *b,
size_t basketNumber) = 0;
83 virtual void SetUsed(
size_t bi,
size_t basketNumber) = 0;
84 virtual void UpdateBranchIndices(TObjArray *branches) = 0;
86 static const char *EventType(EEventType type);
88 ClassDef(TVirtualPerfStats,0)
93 #define gPerfStats (TVirtualPerfStats::CurrentPerfStats())
95 #elif defined(__MAKECINT__)
97 R__EXTERN TVirtualPerfStats *gPerfStats;