Changeset 6383 for vtkvis/trunk


Ignore:
Timestamp:
Jun 16, 2016 3:46:17 PM (8 years ago)
Author:
ldelgass
Message:

Fix times reported in stats log for render_info,render_stop

Location:
vtkvis/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • vtkvis/trunk/RenderServer.cpp

    r4806 r6383  
    250250    g_statsFile = open(pathStr.c_str(), O_EXCL | O_CREAT | O_WRONLY, 0600);
    251251    if (g_statsFile < 0) {
    252         ERROR("can't open \"%s\": %s", pathStr.c_str(), strerror(errno));
    253         return -1;
     252        ERROR("can't open \"%s\": %s", pathStr.c_str(), strerror(errno));
     253        return -1;
    254254    }
    255255    return g_statsFile;
     
    273273serverStats(int code)
    274274{
    275     double start, finish;
    276275    char buf[BUFSIZ];
    277276    Tcl_DString ds;
    278277    int result;
    279     int f;
    280 
    281     {
    282         struct timeval tv;
    283 
    284         /* Get ending time.  */
    285         gettimeofday(&tv, NULL);
    286         finish = CVT2SECS(tv);
    287         tv = g_stats.start;
    288         start = CVT2SECS(tv);
    289     }
     278
     279    /* Get ending time.  */
     280    struct timeval now;
     281    gettimeofday(&now, NULL);
     282    double session_time = CVT2SECS(now) - CVT2SECS(g_stats.start);
     283
    290284    /*
    291285     * Session information:
     
    326320    /* date */
    327321    Tcl_DStringAppendElement(&ds, "date");
    328     strcpy(buf, ctime(&g_stats.start.tv_sec));
     322    strcpy(buf, ctime(&now.tv_sec));
    329323    buf[strlen(buf) - 1] = '\0';
    330324    Tcl_DStringAppendElement(&ds, buf);
    331325    /* date_secs */
    332326    Tcl_DStringAppendElement(&ds, "date_secs");
    333     sprintf(buf, "%ld", g_stats.start.tv_sec);
     327    sprintf(buf, "%ld", now.tv_sec);
    334328    Tcl_DStringAppendElement(&ds, buf);
    335329    /* num_data_sets */
     
    359353    /* session_time */
    360354    Tcl_DStringAppendElement(&ds, "session_time");
    361     sprintf(buf, "%g", finish - start);
     355    sprintf(buf, "%g", session_time);
    362356    Tcl_DStringAppendElement(&ds, buf);
    363357    /* status */
     
    366360    Tcl_DStringAppendElement(&ds, buf);
    367361    {
    368         long clocksPerSec = sysconf(_SC_CLK_TCK);
    369         double clockRes = 1.0 / clocksPerSec;
    370         struct tms tms;
    371 
    372         memset(&tms, 0, sizeof(tms));
    373         times(&tms);
    374         /* utime */
    375         Tcl_DStringAppendElement(&ds, "utime");
    376         sprintf(buf, "%g", tms.tms_utime * clockRes);
    377         Tcl_DStringAppendElement(&ds, buf);
    378         /* stime */
    379         Tcl_DStringAppendElement(&ds, "stime");
    380         sprintf(buf, "%g", tms.tms_stime * clockRes);
    381         Tcl_DStringAppendElement(&ds, buf);
    382         /* cutime */
    383         Tcl_DStringAppendElement(&ds, "cutime");
    384         sprintf(buf, "%g", tms.tms_cutime * clockRes);
    385         Tcl_DStringAppendElement(&ds, buf);
    386         /* cstime */
    387         Tcl_DStringAppendElement(&ds, "cstime");
    388         sprintf(buf, "%g", tms.tms_cstime * clockRes);
    389         Tcl_DStringAppendElement(&ds, buf);
     362        long clocksPerSec = sysconf(_SC_CLK_TCK);
     363        double clockRes = 1.0 / clocksPerSec;
     364        struct tms tms;
     365
     366        memset(&tms, 0, sizeof(tms));
     367        times(&tms);
     368        /* utime */
     369        Tcl_DStringAppendElement(&ds, "utime");
     370        sprintf(buf, "%g", tms.tms_utime * clockRes);
     371        Tcl_DStringAppendElement(&ds, buf);
     372        /* stime */
     373        Tcl_DStringAppendElement(&ds, "stime");
     374        sprintf(buf, "%g", tms.tms_stime * clockRes);
     375        Tcl_DStringAppendElement(&ds, buf);
     376        /* cutime */
     377        Tcl_DStringAppendElement(&ds, "cutime");
     378        sprintf(buf, "%g", tms.tms_cutime * clockRes);
     379        Tcl_DStringAppendElement(&ds, buf);
     380        /* cstime */
     381        Tcl_DStringAppendElement(&ds, "cstime");
     382        sprintf(buf, "%g", tms.tms_cstime * clockRes);
     383        Tcl_DStringAppendElement(&ds, buf);
    390384    }
    391385    Tcl_DStringAppend(&ds, "\n", -1);
    392     f = getStatsFile(NULL);
    393     result = writeToStatsFile(f, Tcl_DStringValue(&ds),
     386    int fd = getStatsFile(NULL);
     387    result = writeToStatsFile(fd, Tcl_DStringValue(&ds),
    394388                              Tcl_DStringLength(&ds));
    395     close(f);
     389    close(fd);
    396390    Tcl_DStringFree(&ds);
    397391    return result;
     
    450444    if (g_fLog != NULL) {
    451445        fclose(g_fLog);
    452         g_fLog = NULL;
     446        g_fLog = NULL;
    453447    }
    454448}
  • vtkvis/trunk/RendererCmd.cpp

    r4814 r6383  
    23532353        objPtr = Tcl_NewStringObj(buf, -1);
    23542354        Tcl_ListObjAppendElement(interp, listObjPtr, objPtr);
     2355        /* date */
     2356        Tcl_ListObjAppendElement(interp, listObjPtr, Tcl_NewStringObj("date", 4));
     2357        strcpy(buf, ctime(&VtkVis::g_stats.start.tv_sec));
     2358        buf[strlen(buf) - 1] = '\0';
     2359        Tcl_ListObjAppendElement(interp, listObjPtr, Tcl_NewStringObj(buf, -1));
     2360        /* date_secs */
     2361        Tcl_ListObjAppendElement(interp, listObjPtr,
     2362                                 Tcl_NewStringObj("date_secs", 9));
     2363        Tcl_ListObjAppendElement(interp, listObjPtr,
     2364                                 Tcl_NewLongObj(VtkVis::g_stats.start.tv_sec));
    23552365    } else {
    23562366        objPtr = Tcl_NewStringObj("render_info", 11);
    23572367        Tcl_ListObjAppendElement(interp, listObjPtr, objPtr);
    2358     }
    2359     /* date */
    2360     Tcl_ListObjAppendElement(interp, listObjPtr, Tcl_NewStringObj("date", 4));
    2361     strcpy(buf, ctime(&VtkVis::g_stats.start.tv_sec));
    2362     buf[strlen(buf) - 1] = '\0';
    2363     Tcl_ListObjAppendElement(interp, listObjPtr, Tcl_NewStringObj(buf, -1));
    2364     /* date_secs */
    2365     Tcl_ListObjAppendElement(interp, listObjPtr,
    2366                              Tcl_NewStringObj("date_secs", 9));
    2367     Tcl_ListObjAppendElement(interp, listObjPtr,
    2368                              Tcl_NewLongObj(VtkVis::g_stats.start.tv_sec));
     2368        struct timeval now;
     2369        gettimeofday(&now, NULL);
     2370        /* date */
     2371        Tcl_ListObjAppendElement(interp, listObjPtr, Tcl_NewStringObj("date", 4));
     2372        strcpy(buf, ctime(&now.tv_sec));
     2373        buf[strlen(buf) - 1] = '\0';
     2374        Tcl_ListObjAppendElement(interp, listObjPtr, Tcl_NewStringObj(buf, -1));
     2375        /* date_secs */
     2376        Tcl_ListObjAppendElement(interp, listObjPtr,
     2377                                 Tcl_NewStringObj("date_secs", 9));
     2378        Tcl_ListObjAppendElement(interp, listObjPtr,
     2379                                 Tcl_NewLongObj(now.tv_sec));
     2380    }
    23692381    /* Client arguments. */
    23702382    if (Tcl_ListObjGetElements(interp, objv[1], &numItems, &items) != TCL_OK) {
Note: See TracChangeset for help on using the changeset viewer.