2 /* Revision 1.4 1994/06/08 17:34:38 newhall
3 /* *** empty log message ***
5 * Revision 1.3 1994/04/13 21:21:43 newhall
6 * *** empty log message ***
8 * Revision 1.2 1994/03/26 04:37:03 newhall
9 * change all floats to double
13 #include "../sparc-sun-sunos4.1.3/visi.CLNT.h"
15 #define TESTMETRIC "blah,blah blah,metric 3,metric 4,last metric"
16 #define TESTRESOURCE "resource1/blah1/foo1,resource2/foo2,resource3"
18 int numMets,numRes,numBuckets,lastBucketcollected = 0;
20 visualizationUser *vup;
24 fprintf(stdout,"\nPhase:\n");
25 sprintf(temp,"%s","psuedo_phase");
26 vup->Phase(0.0,4.5,temp);
29 void AddMR(int nMets, int nRes){
32 resourceType *resources;
33 metricType_Array mets;
34 resourceType_Array res;
35 char temp[32],temp2[32];
40 fprintf(stdout,"\nAdd Metrics and Resorces:\n");
41 metrics = (metricType *)malloc(sizeof(metricType)*nMets);
42 resources = (resourceType *)malloc(sizeof(resourceType)*nRes);
44 sprintf(temp,"%s%d","metric",i);
45 metrics[i].name = strdup(temp);
46 sprintf(temp2,"%s%d","units",i);
47 metrics[i].units = strdup(temp2);
49 metrics[i].aggregate = (i % 2);
55 sprintf(temp,"%s%d","resource",i);
56 resources[i].name = strdup(temp);
60 vup->AddMetricsResources(mets,res,bucketwidth,numBuckets);
62 free(metrics[i].name);
63 free(metrics[i].units);
66 free(resources[i].name);
72 void NewMR(int nMets, int nRes){
75 resourceType *resources;
76 metricType_Array mets;
77 resourceType_Array res;
78 char temp[32],temp2[32];
83 fprintf(stdout,"\nNew Metrics and Resorces not currently supported\n");
84 metrics = (metricType *)malloc(sizeof(metricType)*nMets);
85 resources = (resourceType *)malloc(sizeof(resourceType)*nRes);
87 sprintf(temp,"%s%d","metric",i);
88 metrics[i].name = strdup(temp);
89 sprintf(temp2,"%s%d","units",i);
90 metrics[i].units = strdup(temp2);
92 metrics[i].aggregate = (i % 2);
98 sprintf(temp,"%s%d","resource",i);
99 resources[i].name = strdup(temp);
102 res.data = resources;
103 vup->NewMetricsResources(mets,res);
104 for(i=0;i<nMets;i++){
105 free(metrics[i].name);
106 free(metrics[i].units);
109 free(resources[i].name);
116 fprintf(stdout,"\nFold:\n");
118 lastBucketcollected /= 2;
119 vup->Fold(bucketwidth);
126 fprintf(stdout,"\nInvalidate Metric and Resources:\n");
127 mId = rand() % numMets;
128 rId = rand() % numRes;
129 vup->InvalidMR(mId,rId);
132 void SendData(int numTimes){
134 dataValue_Array blah;
138 fprintf(stdout,"\nSend Data values to server process: num Buckets = %d\n",numTimes);
139 for(m=0; m<numTimes; m++){
140 if(lastBucketcollected == numBuckets){
142 fprintf(stdout,"Fold in SendData due to full histogram\n");
144 data = (dataValue *)malloc(sizeof(dataValue)*(numMets*numRes));
146 for(i=0;i<numMets;i++)
147 for(j=0;j<numRes;j++){
148 data[k].metricId = i;
149 data[k].resourceId = j;
150 data[k].bucketNum = lastBucketcollected;
151 data[k].data = 1.0*(rand() % 1000);
155 blah.count = numMets*numRes;
156 lastBucketcollected++;
163 main(int argc,char *argv[]){
175 fprintf(stdout,"incorrect num arguments: client2 server_executable\n");
176 fprintf(stdout,"or: client2 server_executable numMetrics numResources numBuckets bucketWidth\n");
179 fprintf(stderr,"in client\n");
180 arg_list = new char*[2];
181 arg_list[i++] = strdup(argv[1]);
185 numMets = atoi(argv[2]);
186 numRes = atoi(argv[3]);
187 numBuckets = atoi(argv[4]);
188 bucketwidth = atof(argv[5]);
189 fprintf(stdout," numMets = %d numRes = %d numBuckets = %d bucketwidth = %f\n",numMets,numRes,numBuckets,bucketwidth);
199 fd = RPCprocessCreate(&pid, "localhost", "", argv[1],arg_list);
201 perror("process Create");
206 fprintf(stderr,"in client before new visualizationUser\n");
207 vup = new visualizationUser(fd,NULL,NULL);
213 // these don't do anything yet
214 if(RPC_readReady(fd))
215 vup->awaitResponce(-1);
218 while((wch < 0) || (wch > 6)){
219 fprintf(stdout,"\n---------------------------------------------\n");
220 fprintf(stdout,"enter number of operation to perform:\n");
221 fprintf(stdout,"---------------------------------------------\n");
222 fprintf(stdout,"0:data values 1:fold 2:invalid m/r 3:add m/r\n");
223 fprintf(stdout,"4:new m/r 5:phase 6:quit\n");
224 fprintf(stdout,"---------------------------------------------\n\n");
229 fprintf(stdout,"enter number of buckets to send\n");
230 scanf("%d",&numtimes);
241 AddMR(numMets,numRes);