/////////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////////// #include "TFile.h" #include "TTree.h" #include "TBranch.h" #include "OfflineMon/TDbStat.hh" ClassImp(TDbStat) TDbStat::Data_t* TDbStat::Data; //_____________________________________________________________________________ TDbStat::TDbStat() { } //_____________________________________________________________________________ int TDbStat::UpdateNtuple() { TFile* ntuple_file = new TFile(fNtupleFileName.Data(),"recreate"); TTree* tree = new TTree("dbstat","DB access statistics"); TBranch* br = tree->Branch("DbStat","TDbStat", &Data); Data = new TDbStat::Data_t(); //----------------------------------------------------------------------------- // read the data file and fill the ntuple //----------------------------------------------------------------------------- FILE* f = fopen(fInputDirName.Data(),"r"); char c[200]; int id1, id2; char table[100]; int n = 200; while (fgets(c,n,f) > 0) { sscanf(c,"%i%i%i%i%i%i%i%i%i%f%f%i%s", &id1, &id2, &Data->fKeyedGets,& Data->fDefaultGets, &Data->fNotif, &Data->fKeyedPuts, &Data->fNoKeyedPuts, &Data->fCacheHits, &Data->fCacheMisses, &Data->fTimePuts , &Data->fTimeGets, &Data->fTableNumber, table); Data->fId = id1*100+id2; Data->fTable = table; // printf("%f %f \n",gDbStat->fTimePuts,gDbStat->fTimeGets); tree->Fill(); } ntuple_file->Write(); delete ntuple_file; return 0; }