1 void GetValues(const char* host, Int_t port, const char* request,
2 Long_t startTime, Long_t endTime)
5 AliDCSClient client(host, port, 10000, 5);
9 TTimeStamp currentTime;
12 TString rString(request);
14 TObjArray* requests = rString.Tokenize(",");
16 cout<<"Requests: "<<requests->GetEntries()<<endl;
21 if (requests->GetEntries() > 1) {
25 while ((aString = (TObjString*) iter.Next())) {
26 values.Add(new TObjString(aString->String()), NULL);
29 result = client.GetDPValues(startTime, endTime, values);
32 TObjArray* valueSet = new TObjArray();
33 valueSet->SetOwner(1);
35 values.Add(new TObjString(request), valueSet);
37 result = client.GetDPValues(request, startTime,
42 cout<<"Communication failure: "<<
43 AliDCSClient::GetErrorString(result)<<endl;
45 if (result == AliDCSClient::fgkServerError) {
46 cout<<"Server error code: "<<
47 client.GetServerErrorCode()<<endl;
48 cout<<client.GetServerError()<<endl;
53 cout<<"Elapsed time: "<<sw.RealTime()<<endl;
55 cout<<"Time per value: "<<sw.RealTime()/result<<endl;
57 cout<<"Received values: "<<result<<endl;
61 while ((aRequest = (TObjString*) iter.Next())) {
63 TObjArray* valueSet = (TObjArray*) values.GetValue(aRequest);
65 cout<<" '"<<aRequest->String()<<"' values: "
66 <<valueSet->GetEntriesFast()<<endl;
68 TIter valIter(valueSet);
70 while ((aValue = (AliDCSValue*) valIter.Next())) {
71 cout<<aValue->ToString()<<endl;
75 /* TFile file("dump.root", "UPDATE");
76 file.WriteTObject(values, "values");
82 cout<<"All values returned in runrange: "<<endl;
83 cout<<"StartTime: "<<TTimeStamp(startTime).AsString()<<endl;
84 cout<<"EndTime: "<<TTimeStamp(endTime).AsString()<<endl;
87 void TestClient(const char* host, Int_t port, const char* request,
88 UInt_t startShift, UInt_t endShift) {
90 gSystem->Load("$ALICE_ROOT/SHUTTLE/DCSClient/AliDCSClient");
92 // AliLog::EnableDebug(kFALSE);
93 // AliLog::SetGlobalDebugLevel(3);
95 TTimeStamp currentTime;
97 GetValues(host, port, request,
98 currentTime.GetSec() - startShift,
99 currentTime.GetSec() - endShift);
101 cout<<"Client done"<<endl;