Changeset 42895
- Timestamp:
- Jun 13, 2025, 10:57:40 AM (13 months ago)
- Location:
- tags/ipp-unions-20250528/Ohana/src/opihi
- Files:
-
- 2 added
- 7 edited
-
include/pcontrol.h (modified) (1 diff)
-
pantasks/Makefile (modified) (1 diff)
-
pantasks/controller.c (modified) (2 diffs)
-
pantasks/controller_hoststack.c (modified) (1 diff)
-
pantasks/controller_pcstats.c (added)
-
pcontrol/CheckSystem.c (modified) (10 diffs)
-
pcontrol/Makefile (modified) (1 diff)
-
pcontrol/init.c (modified) (2 diffs)
-
pcontrol/pcstats.c (added)
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-unions-20250528/Ohana/src/opihi/include/pcontrol.h
r42389 r42895 343 343 void QuitCheckSystemThread (void); 344 344 345 void Stats_CheckBusyJobs (int reset); 346 void Stats_CheckDoneJobs (int reset); 347 void Stats_CheckKillJobs (int reset); 348 void Stats_CheckRespHosts (int reset); 349 void Stats_CheckDoneHosts (int reset); 350 void Stats_CheckDownHosts (int reset); 351 void Stats_CheckIdleHosts (int reset); 352 void Stats_CheckLiveHosts (int reset); 353 345 354 // Job *FindJobByID (IDtype JobID, int *StackID); 346 355 // Job *FindJobInStackByID (int StackID, int ID); -
tags/ipp-unions-20250528/Ohana/src/opihi/pantasks/Makefile
r42886 r42895 83 83 $(SRC)/controller_output.$(ARCH).o \ 84 84 $(SRC)/controller_pulse.$(ARCH).o \ 85 $(SRC)/controller_pcstats.$(ARCH).o \ 85 86 $(SRC)/task.$(ARCH).o \ 86 87 $(SRC)/task_host.$(ARCH).o \ -
tags/ipp-unions-20250528/Ohana/src/opihi/pantasks/controller.c
r26411 r42895 14 14 int controller_check PROTO((int, char **)); 15 15 int controller_output PROTO((int, char **)); 16 int controller_pcstats PROTO((int, char **)); 16 17 int controller_pulse PROTO((int, char **)); 17 18 … … 32 33 {1, "verbose", controller_verbose, "set controller verbosity"}, 33 34 {1, "version", controller_version, "show controller version"}, 35 {1, "pcstats", controller_pcstats, "show pcontrol throughput stats"}, 34 36 {1, "pulse", controller_pulse, "set controller pulse"}, 35 37 }; -
tags/ipp-unions-20250528/Ohana/src/opihi/pantasks/controller_hoststack.c
r26411 r42895 9 9 if (argc != 2) { 10 10 gprint (GP_ERR, "USAGE: controller hoststack (hoststack)\n"); 11 gprint (GP_ERR, " (hoststack) : pending, busy, exit, crash, hung, done\n");11 gprint (GP_ERR, " (hoststack) : idle, busy, done, down, off\n"); 12 12 return (FALSE); 13 13 } -
tags/ipp-unions-20250528/Ohana/src/opihi/pcontrol/CheckSystem.c
r42389 r42895 155 155 } 156 156 157 // CheckBusyJobs : Stats 158 159 static int Nt_CheckBusyJobs = 0; 160 static int Np_CheckBusyJobs = 0; 161 static float dT_CheckBusyJobs = 0.0; 162 163 void Stats_CheckBusyJobs (int reset) { 164 165 gprint (GP_LOG, "CBJ: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckBusyJobs, Nt_CheckBusyJobs, Nt_CheckBusyJobs / dT_CheckBusyJobs); 166 167 if (reset) { 168 Nt_CheckBusyJobs = 0; 169 Np_CheckBusyJobs = 0; 170 dT_CheckBusyJobs = 0.0; 171 } 172 } 173 174 // CheckBusyJobs : Func 175 157 176 int CheckBusyJobs (float MaxDelay) { 158 177 … … 195 214 } 196 215 if (DEBUG && (Nobject > 0)) gprint (GP_ERR, "checked %d of %d jobs\n", i, Nobject); 216 217 Np_CheckBusyJobs ++; 218 Nt_CheckBusyJobs += i; 219 220 gettimeofday (&stop, (void *) NULL); 221 dtime = DTIME (stop, start); 222 dT_CheckBusyJobs += dtime; 197 223 return (i); 198 224 } 225 226 // CheckDoneJobs : Stats 227 228 static int Nt_CheckDoneJobs = 0; 229 static int Np_CheckDoneJobs = 0; 230 static float dT_CheckDoneJobs = 0.0; 231 232 void Stats_CheckDoneJobs (int reset) { 233 234 gprint (GP_LOG, "CDJ: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckDoneJobs, Nt_CheckDoneJobs, Nt_CheckDoneJobs / dT_CheckDoneJobs); 235 236 if (reset) { 237 Nt_CheckDoneJobs = 0; 238 Np_CheckDoneJobs = 0; 239 dT_CheckDoneJobs = 0.0; 240 } 241 } 242 243 // CheckDoneJobs : Func 199 244 200 245 int CheckDoneJobs (float MaxDelay) { … … 234 279 } 235 280 if (DEBUG && (Nobject > 0)) gprint (GP_ERR, "checked %d of %d jobs\n", i, Nobject); 281 282 Np_CheckDoneJobs ++; 283 Nt_CheckDoneJobs += i; 284 285 gettimeofday (&stop, (void *) NULL); 286 dtime = DTIME (stop, start); 287 dT_CheckDoneJobs += dtime; 236 288 return (i); 237 289 } 290 291 // CheckKillJobs : Stats 292 293 static int Nt_CheckKillJobs = 0; 294 static int Np_CheckKillJobs = 0; 295 static float dT_CheckKillJobs = 0.0; 296 297 void Stats_CheckKillJobs (int reset) { 298 299 gprint (GP_LOG, "CKJ: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckKillJobs, Nt_CheckKillJobs, Nt_CheckKillJobs / dT_CheckKillJobs); 300 301 if (reset) { 302 Nt_CheckKillJobs = 0; 303 Np_CheckKillJobs = 0; 304 dT_CheckKillJobs = 0.0; 305 } 306 } 307 308 // CheckKillJobs : Func 238 309 239 310 int CheckKillJobs (float MaxDelay) { … … 273 344 } 274 345 if (DEBUG && (Nobject > 0)) gprint (GP_ERR, "checked %d of %d jobs\n", i, Nobject); 346 347 Np_CheckKillJobs ++; 348 Nt_CheckKillJobs += i; 349 350 gettimeofday (&stop, (void *) NULL); 351 dtime = DTIME (stop, start); 352 dT_CheckKillJobs += dtime; 275 353 return (i); 276 354 } 355 356 // CheckRespHosts : Stats 357 358 static int Nt_CheckRespHosts = 0; 359 static int Np_CheckRespHosts = 0; 360 static float dT_CheckRespHosts = 0.0; 361 362 void Stats_CheckRespHosts (int reset) { 363 364 gprint (GP_LOG, "CRH: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckRespHosts, Nt_CheckRespHosts, Nt_CheckRespHosts / dT_CheckRespHosts); 365 366 if (reset) { 367 Nt_CheckRespHosts = 0; 368 Np_CheckRespHosts = 0; 369 dT_CheckRespHosts = 0.0; 370 } 371 } 372 373 // CheckRespHosts : Func 277 374 278 375 int CheckRespHosts (float MaxDelay) { … … 314 411 } 315 412 if (DEBUG) gprint (GP_ERR, "checked %d hosts\n", i); 413 414 Np_CheckRespHosts ++; 415 Nt_CheckRespHosts += i; 416 417 gettimeofday (&stop, (void *) NULL); 418 dtime = DTIME (stop, start); 419 dT_CheckRespHosts += dtime; 316 420 return (i); 317 421 } 422 423 // CheckDoneHosts : Stats 424 425 static int Nt_CheckDoneHosts = 0; 426 static int Np_CheckDoneHosts = 0; 427 static float dT_CheckDoneHosts = 0.0; 428 429 void Stats_CheckDoneHosts (int reset) { 430 431 gprint (GP_LOG, "CDH: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckDoneHosts, Nt_CheckDoneHosts, Nt_CheckDoneHosts / dT_CheckDoneHosts); 432 433 if (reset) { 434 Nt_CheckDoneHosts = 0; 435 Np_CheckDoneHosts = 0; 436 dT_CheckDoneHosts = 0.0; 437 } 438 } 439 440 // CheckDoneHosts : Func 318 441 319 442 int CheckDoneHosts (float MaxDelay) { … … 340 463 } 341 464 if (DEBUG) gprint (GP_ERR, "checked %d hosts\n", i); 465 466 Np_CheckDoneHosts ++; 467 Nt_CheckDoneHosts += i; 468 469 gettimeofday (&stop, (void *) NULL); 470 dtime = DTIME (stop, start); 471 dT_CheckDoneHosts += dtime; 342 472 return (i); 343 473 } 474 475 // CheckDownHosts : Stats 476 477 static int Nt_CheckDownHosts = 0; 478 static int Np_CheckDownHosts = 0; 479 static float dT_CheckDownHosts = 0.0; 480 481 void Stats_CheckDownHosts (int reset) { 482 483 gprint (GP_LOG, "CNH: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckDownHosts, Nt_CheckDownHosts, Nt_CheckDownHosts / dT_CheckDownHosts); 484 485 if (reset) { 486 Nt_CheckDownHosts = 0; 487 Np_CheckDownHosts = 0; 488 dT_CheckDownHosts = 0.0; 489 } 490 } 491 492 // CheckDownHosts : Func 344 493 345 494 int CheckDownHosts (float MaxDelay) { … … 380 529 } 381 530 if (DEBUG) gprint (GP_ERR, "checked %d hosts\n", i); 531 532 Np_CheckDownHosts ++; 533 Nt_CheckDownHosts += i; 534 535 gettimeofday (&stop, (void *) NULL); 536 dtime = DTIME (stop, start); 537 dT_CheckDownHosts += dtime; 382 538 return (i); 383 539 } 540 541 // CheckIdleHosts : Stats 542 543 static int Nt_CheckIdleHosts = 0; 544 static int Np_CheckIdleHosts = 0; 545 static float dT_CheckIdleHosts = 0.0; 546 547 void Stats_CheckIdleHosts (int reset) { 548 549 gprint (GP_LOG, "CIH: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckIdleHosts, Nt_CheckIdleHosts, Nt_CheckIdleHosts / dT_CheckIdleHosts); 550 551 if (reset) { 552 Nt_CheckIdleHosts = 0; 553 Np_CheckIdleHosts = 0; 554 dT_CheckIdleHosts = 0.0; 555 } 556 } 557 558 // CheckIdleHosts : Func 384 559 385 560 // if we have any IDLE hosts, check if there are jobs to be launched … … 399 574 if (!stack[0].Nobject && (Stage != PCONTROL_JOB_STAGE_NEEDHOST)) return (0); 400 575 576 // XXX note that our throughput statistics do not include this section 401 577 /* if there are no pending jobs, check for hosts that need to be reset */ 402 578 if (!stack[0].Nobject) { … … 431 607 432 608 if (DEBUG) gprint (GP_ERR, "checked %d hosts\n", i); 609 610 Np_CheckIdleHosts ++; 611 Nt_CheckIdleHosts += i; 612 613 gettimeofday (&stop, (void *) NULL); 614 dtime = DTIME (stop, start); 615 dT_CheckIdleHosts += dtime; 433 616 return (i); 434 617 } 618 619 // CheckLiveHosts : Stats 620 621 static int Nt_CheckLiveHosts = 0; 622 static int Np_CheckLiveHosts = 0; 623 static float dT_CheckLiveHosts = 0.0; 624 625 void Stats_CheckLiveHosts (int reset) { 626 627 gprint (GP_LOG, "CLH: Npass: %d, Ntest: %d, rate: %f\n", Np_CheckLiveHosts, Nt_CheckLiveHosts, Nt_CheckLiveHosts / dT_CheckLiveHosts); 628 629 if (reset) { 630 Nt_CheckLiveHosts = 0; 631 Np_CheckLiveHosts = 0; 632 dT_CheckLiveHosts = 0.0; 633 } 634 } 635 636 // CheckLiveHosts : Func 435 637 436 638 /* this is just a heartbeat check (only IDLE hosts) */ … … 458 660 } 459 661 if (DEBUG) gprint (GP_ERR, "checked %d idle hosts\n", i); 662 663 Np_CheckLiveHosts ++; 664 Nt_CheckLiveHosts += i; 665 666 gettimeofday (&stop, (void *) NULL); 667 dtime = DTIME (stop, start); 668 dT_CheckLiveHosts += dtime; 460 669 return (TRUE); 461 670 } -
tags/ipp-unions-20250528/Ohana/src/opihi/pcontrol/Makefile
r41489 r42895 54 54 $(SRC)/pulse.$(ARCH).o \ 55 55 $(SRC)/parameters.$(ARCH).o \ 56 $(SRC)/pcstats.$(ARCH).o \ 56 57 $(SRC)/run.$(ARCH).o \ 57 58 $(SRC)/machines.$(ARCH).o \ -
tags/ipp-unions-20250528/Ohana/src/opihi/pcontrol/init.c
r26411 r42895 10 10 int machines PROTO((int, char **)); 11 11 int parameters PROTO((int, char **)); 12 int pcstats PROTO((int, char **)); 12 13 int run PROTO((int, char **)); 13 14 int status PROTO((int, char **)); … … 30 31 {1, "machines", machines, "list machines"}, 31 32 {1, "parameters", parameters, "get / set system parameters"}, 33 {1, "pcstats", pcstats, "show pcontrol througput stats"}, 32 34 {1, "run", run, "set controller runlevel"}, 33 35 {1, "status", status, "get system status"},
Note:
See TracChangeset
for help on using the changeset viewer.
