| 707 | lines.push_back(buf); |
| 708 | |
| 709 | void ScreenPrinter::draw_stats_screen() |
| 710 | { |
| 711 | long localElapsedTime, globalElapsedTime ; |
| 712 | struct timeval currentTime; |
| 713 | float averageCallRate; |
| 714 | float realInstantCallRate; |
| 715 | unsigned long numberOfCall; |
| 716 | CStat* s = display_scenario->stats; |
| 717 | unsigned const bufsiz = 256; |
| 718 | char buf[bufsiz]; |
| 719 | |
| 720 | GET_TIME (¤tTime); |
| 721 | // computing the real call rate |
| 722 | globalElapsedTime = s->computeDiffTimeInMs (¤tTime, &s->M_startTime); |
| 723 | localElapsedTime = s->computeDiffTimeInMs (¤tTime, &s->M_pdStartTime); |
| 724 | // the call rate is for all the call : incoming and outgoing |
| 725 | numberOfCall = (s->M_counters[s->CPT_C_IncomingCallCreated] + |
| 726 | s->M_counters[s->CPT_C_OutgoingCallCreated]); |
| 727 | averageCallRate = (globalElapsedTime > 0 ? |
| 728 | 1000*(float)numberOfCall/(float)globalElapsedTime : |
| 729 | 0.0); |
| 730 | numberOfCall = (s->M_counters[s->CPT_PD_IncomingCallCreated] + |
| 731 | s->M_counters[s->CPT_PD_OutgoingCallCreated]); |
| 732 | realInstantCallRate = (localElapsedTime > 0 ? |
| 733 | 1000*(float)numberOfCall / (float)localElapsedTime : |
| 734 | 0.0); |
| 735 | |
| 736 | // build and display header info |
| 737 | DISPLAY_TXT ("Start Time ", s->formatTime(&s->M_startTime)); |
| 738 | DISPLAY_TXT ("Last Reset Time", s->formatTime(&s->M_pdStartTime)); |
| 739 | DISPLAY_TXT ("Current Time", s->formatTime(¤tTime)); |
| 740 | |
| 741 | // printing the header in the middle |
| 742 | DISPLAY_CROSS_LINE(); |
| 743 | DISPLAY_HEADER(); |
| 744 | DISPLAY_CROSS_LINE(); |
| 745 | |
| 746 | DISPLAY_TXT_COL ("Elapsed Time", |
| 747 | s->msToHHMMSSus(localElapsedTime), |
| 748 | s->msToHHMMSSus(globalElapsedTime)); |
| 749 | |
| 750 | DISPLAY_VAL_RATEF_COL ("Call Rate", realInstantCallRate, averageCallRate); |
| 751 | DISPLAY_CROSS_LINE (); |
| 752 | |
| 753 | DISPLAY_2VAL ("Incoming calls created", |
| 754 | s->M_counters[s->CPT_PD_IncomingCallCreated], |
| 755 | s->M_counters[s->CPT_C_IncomingCallCreated]); |
| 756 | DISPLAY_2VAL ("Outgoing calls created", |
| 757 | s->M_counters[s->CPT_PD_OutgoingCallCreated], |
| 758 | s->M_counters[s->CPT_C_OutgoingCallCreated]); |
| 759 | DISPLAY_CUMUL ("Total Calls created", s->M_counters[s->CPT_C_IncomingCallCreated] + |
| 760 | s->M_counters[s->CPT_C_OutgoingCallCreated]); |
| 761 | DISPLAY_PERIO ("Current Calls", |
| 762 | s->M_counters[s->CPT_C_CurrentCall]); |
| 763 | |
| 764 | if (s->M_genericMap.size()) { |
| 765 | DISPLAY_CROSS_LINE (); |
| 766 | } |
nothing calls this directly
no test coverage detected