]> git.uio.no Git - u/mrichter/AliRoot.git/blame - SHUTTLE/DCSClient/macros/TestClientAlias.C
major update (Alberto)
[u/mrichter/AliRoot.git] / SHUTTLE / DCSClient / macros / TestClientAlias.C
CommitLineData
4b4eb769 1void GetValues(const char* host, Int_t port, const char* request,
2 Long_t startTime, Long_t endTime)
3{
4
5 AliDCSClient client(host, port, 1000, 5);
6
7 Int_t result;
8
9 TTimeStamp currentTime;
10 TMap values;
11
12 TString rString(request);
13
14 TObjArray* requests = rString.Tokenize(",");
15
16 cout<<"Requests: "<<requests->GetEntries()<<endl;
17
18 TStopwatch sw;
19 sw.Start();
20
21 if (requests->GetEntries() > 1) {
eba76848 22
4b4eb769 23 TIter iter(requests);
24 TObjString* aString;
eba76848 25 TObjArray* valueSet;
4b4eb769 26 while ((aString = (TObjString*) iter.Next())) {
eba76848 27 cout<<" Querying: "<<aString->GetName()<<endl;
28 valueSet = new TObjArray();
29 valueSet->SetOwner(1);
30
31 result = client.GetDPValues(aString->GetName(), startTime,
32 endTime, valueSet);
33 values.Add(aString->Clone(), valueSet);
34 }
4b4eb769 35
36 } else {
37 TObjArray* valueSet = new TObjArray();
38 valueSet->SetOwner(1);
39
40 values.Add(new TObjString(request), valueSet);
41
42 result = client.GetAliasValues(request, startTime,
2bb7b766 43 endTime, valueSet);
4b4eb769 44 }
45
46 if (result < 0) {
47 cout<<"Communication failure: "<<
48 AliDCSClient::GetErrorString(result)<<endl;
49
50 if (result == AliDCSClient::fgkServerError) {
51 cout<<"Server error code: "<<
52 client.GetServerErrorCode()<<endl;
53 cout<<client.GetServerError()<<endl;
54 }
55 }
56
57 sw.Stop();
58 cout<<"Elapsed time: "<<sw.RealTime()<<endl;
59 if (result > 0) {
60 cout<<"Time per value: "<<sw.RealTime()/result<<endl;
61 }
62 cout<<"Received values: "<<result<<endl;
63
64 TIter iter(&values);
65 TObjString* aRequest;
66 while ((aRequest = (TObjString*) iter.Next())) {
67
68 TObjArray* valueSet = (TObjArray*) values.GetValue(aRequest);
69
70 cout<<" '"<<aRequest->String()<<"' values: "
71 <<valueSet->GetEntriesFast()<<endl;
72
73 TIter valIter(valueSet);
74 AliDCSValue* aValue;
75 while ((aValue = (AliDCSValue*) valIter.Next())) {
76 cout<<aValue->ToString()<<endl;
77 }
78 }
79
80/*
81 TFile file("dump.root", "UPDATE");
82 file.cd();
eba76848 83 values.Write("DCSAliasMap", TObject::kSingleKey);
4b4eb769 84 file.Close();
85*/
86
87 values.DeleteAll();
88 delete requests;
89
90 cout<<"All values returned in runrange: "<<endl;
91 cout<<"StartTime: "<<TTimeStamp(startTime).AsString()<<endl;
92 cout<<"EndTime: "<<TTimeStamp(endTime).AsString()<<endl;
93}
94
95void TestClientAlias(const char* host, Int_t port, const char* request,
96 UInt_t startShift, UInt_t endShift) {
97
eba76848 98 gSystem->Load("AliDCSClient");
4b4eb769 99
100// AliLog::EnableDebug(kFALSE);
101// AliLog::SetGlobalDebugLevel(3);
102
103 TTimeStamp currentTime;
104
105 GetValues(host, port, request,
106 currentTime.GetSec() - startShift,
107 currentTime.GetSec() - endShift);
108
109 cout<<"Client done"<<endl;
110}