2 /* Revision 1.3 1994/04/13 21:21:43 newhall
3 /* *** empty log message ***
5 * Revision 1.2 1994/03/26 04:37:03 newhall
6 * change all floats to double
10 #include "visi.CLNT.h"
12 #define TESTMETRIC "blah,blah blah,metric 3,metric 4,last metric"
13 #define TESTRESOURCE "resource1/blah1/foo1,resource2/foo2,resource3"
15 int numMets,numRes,numBuckets,lastBucketcollected = 0;
17 visualizationUser *vup;
21 fprintf(stdout,"\nPhase:\n");
22 sprintf(temp,"%s","psuedo_phase");
23 vup->Phase(0.0,4.5,temp);
26 void AddMR(int nMets, int nRes){
29 resourceType *resources;
30 metricType_Array mets;
31 resourceType_Array res;
32 char temp[32],temp2[32];
37 fprintf(stdout,"\nAdd Metrics and Resorces:\n");
38 metrics = (metricType *)malloc(sizeof(metricType)*nMets);
39 resources = (resourceType *)malloc(sizeof(resourceType)*nRes);
41 sprintf(temp,"%s%d","metric",i);
42 metrics[i].name = strdup(temp);
43 sprintf(temp2,"%s%d","units",i);
44 metrics[i].units = strdup(temp2);
46 metrics[i].aggregate = (i % 2);
52 sprintf(temp,"%s%d","resource",i);
53 resources[i].name = strdup(temp);
57 vup->AddMetricsResources(mets,res,bucketwidth,numBuckets);
59 free(metrics[i].name);
60 free(metrics[i].units);
63 free(resources[i].name);
69 void NewMR(int nMets, int nRes){
72 resourceType *resources;
73 metricType_Array mets;
74 resourceType_Array res;
75 char temp[32],temp2[32];
80 fprintf(stdout,"\nNew Metrics and Resorces not currently supported\n");
81 metrics = (metricType *)malloc(sizeof(metricType)*nMets);
82 resources = (resourceType *)malloc(sizeof(resourceType)*nRes);
84 sprintf(temp,"%s%d","metric",i);
85 metrics[i].name = strdup(temp);
86 sprintf(temp2,"%s%d","units",i);
87 metrics[i].units = strdup(temp2);
89 metrics[i].aggregate = (i % 2);
95 sprintf(temp,"%s%d","resource",i);
96 resources[i].name = strdup(temp);
100 vup->NewMetricsResources(mets,res);
101 for(i=0;i<nMets;i++){
102 free(metrics[i].name);
103 free(metrics[i].units);
106 free(resources[i].name);
113 fprintf(stdout,"\nFold:\n");
115 lastBucketcollected /= 2;
116 vup->Fold(bucketwidth);
123 fprintf(stdout,"\nInvalidate Metric and Resources:\n");
124 mId = rand() % numMets;
125 rId = rand() % numRes;
126 vup->InvalidMR(mId,rId);
129 void SendData(int numTimes){
131 dataValue_Array blah;
135 fprintf(stdout,"\nSend Data values to server process: num Buckets = %d\n",numTimes);
136 for(m=0; m<numTimes; m++){
137 if(lastBucketcollected == numBuckets){
139 fprintf(stdout,"Fold in SendData due to full histogram\n");
141 data = (dataValue *)malloc(sizeof(dataValue)*(numMets*numRes));
143 for(i=0;i<numMets;i++)
144 for(j=0;j<numRes;j++){
145 data[k].metricId = i;
146 data[k].resourceId = j;
147 data[k].bucketNum = lastBucketcollected;
148 data[k].data = 1.0*(rand() % 1000);
152 blah.count = numMets*numRes;
153 lastBucketcollected++;
160 main(int argc,char *argv[]){
172 fprintf(stdout,"incorrect num arguments: client2 server_executable\n");
173 fprintf(stdout,"or: client2 server_executable numMetrics numResources numBuckets bucketWidth\n");
176 fprintf(stderr,"in client\n");
177 arg_list = new char*[2];
178 arg_list[i++] = strdup(argv[1]);
182 numMets = atoi(argv[2]);
183 numRes = atoi(argv[3]);
184 numBuckets = atoi(argv[4]);
185 bucketwidth = atof(argv[5]);
186 fprintf(stdout," numMets = %d numRes = %d numBuckets = %d bucketwidth = %f\n",numMets,numRes,numBuckets,bucketwidth);
196 fd = RPCprocessCreate(&pid, "localhost", "", argv[1],arg_list);
198 perror("process Create");
203 fprintf(stderr,"in client before new visualizationUser\n");
204 vup = new visualizationUser(fd,NULL,NULL);
210 // these don't do anything yet
211 if(RPC_readReady(fd))
212 vup->awaitResponce(-1);
215 while((wch < 0) || (wch > 6)){
216 fprintf(stdout,"\n---------------------------------------------\n");
217 fprintf(stdout,"enter number of operation to perform:\n");
218 fprintf(stdout,"---------------------------------------------\n");
219 fprintf(stdout,"0:data values 1:fold 2:invalid m/r 3:add m/r\n");
220 fprintf(stdout,"4:new m/r 5:phase 6:quit\n");
221 fprintf(stdout,"---------------------------------------------\n\n");
226 fprintf(stdout,"enter number of buckets to send\n");
227 scanf("%d",&numtimes);
238 AddMR(numMets,numRes);