Home | History | Annotate | Download | only in fio

Lines Matching refs:je

354 bool calc_thread_status(struct jobs_eta *je, int force)
387 je->elapsed_sec = (mtime_since_genesis() + 999) / 1000;
396 je->is_pow2 = 1;
397 je->unit_base = td->o.unit_base;
404 je->nr_running++;
406 je->t_rate[0] += td->o.rate[DDIR_READ];
407 je->t_iops[0] += td->o.rate_iops[DDIR_READ];
408 je->m_rate[0] += td->o.ratemin[DDIR_READ];
409 je->m_iops[0] += td->o.rate_iops_min[DDIR_READ];
412 je->t_rate[1] += td->o.rate[DDIR_WRITE];
413 je->t_iops[1] += td->o.rate_iops[DDIR_WRITE];
414 je->m_rate[1] += td->o.ratemin[DDIR_WRITE];
415 je->m_iops[1] += td->o.rate_iops_min[DDIR_WRITE];
418 je->t_rate[2] += td->o.rate[DDIR_TRIM];
419 je->t_iops[2] += td->o.rate_iops[DDIR_TRIM];
420 je->m_rate[2] += td->o.ratemin[DDIR_TRIM];
421 je->m_iops[2] += td->o.rate_iops_min[DDIR_TRIM];
424 je->files_open += td->nr_open_files;
426 je->nr_running++;
427 je->nr_ramp++;
429 je->nr_setting_up++;
431 je->nr_pending++;
433 if (je->elapsed_sec >= 3)
456 je->eta_sec = INT_MAX;
458 if (eta_secs[i] < je->eta_sec)
459 je->eta_sec = eta_secs[i];
464 je->eta_sec = 0;
469 if (eta_secs[i] > je->eta_sec)
470 je->eta_sec = eta_secs[i];
473 je->eta_sec += eta_stone;
483 je->rate);
485 add_agg_sample(sample_val(je->rate[DDIR_READ]), DDIR_READ, 0);
486 add_agg_sample(sample_val(je->rate[DDIR_WRITE]), DDIR_WRITE, 0);
487 add_agg_sample(sample_val(je->rate[DDIR_TRIM]), DDIR_TRIM, 0);
498 calc_rate(unified_rw_rep, disp_time, io_bytes, disp_io_bytes, je->rate);
499 calc_iops(unified_rw_rep, disp_time, io_iops, disp_io_iops, je->iops);
503 if (!force && !je->nr_running && !je->nr_pending)
506 je->nr_threads = thread_number;
508 memcpy(je->run_str, run_str, strlen(run_str));
512 void display_thread_status(struct jobs_eta *je)
522 if (je->eta_sec != INT_MAX && je->elapsed_sec) {
523 perc = (double) je->elapsed_sec / (double) (je->elapsed_sec + je->eta_sec);
524 eta_to_str(eta_str, je->eta_sec);
532 p += sprintf(p, "Jobs: %d (f=%d)", je->nr_running, je->files_open);
535 if (je->m_rate[0] || je->m_rate[1] || je->m_rate[2] ||
536 je->t_rate[0] || je->t_rate[1] || je->t_rate[2]) {
539 mr = num2str(je->m_rate[0] + je->m_rate[1] + je->m_rate[2],
540 4, 0, je->is_pow2, N2S_BYTEPERSEC);
541 tr = num2str(je->t_rate[0] + je->t_rate[1] + je->t_rate[2],
542 4, 0, je->is_pow2, N2S_BYTEPERSEC);
547 } else if (je->m_iops[0] || je->m_iops[1] || je->m_iops[2] ||
548 je->t_iops[0] || je->t_iops[1] || je->t_iops[2]) {
550 je->m_iops[0] + je->m_iops[1] + je->m_iops[2],
551 je->t_iops[0] + je->t_iops[1] + je->t_iops[2]);
555 if (je->eta_sec != INT_MAX && je->nr_running) {
563 if ((!je->eta_sec && !eta_good) || je->nr_ramp == je->nr_running ||
564 je->eta_sec == -1)
569 if (je->nr_setting_up && je->nr_running)
570 mult *= (1.0 - (double) je->nr_setting_up / (double) je->nr_running);
578 rate_str[ddir] = num2str(je->rate[ddir], 4,
579 1024, je->is_pow2, je->unit_base);
580 iops_str[ddir] = num2str(je->iops[ddir], 4, 1, 0, N2S_NONE);
585 if (je->rate[DDIR_TRIM] || je->iops[DDIR_TRIM])
588 je->run_str, perc_str, rate_str[DDIR_READ],
595 je->run_str, perc_str,
626 struct jobs_eta *je;
631 *size = sizeof(*je) + THREAD_RUNSTR_SZ + 8;
632 je = malloc(*size);
633 if (!je)
635 memset(je, 0, *size);
637 if (!calc_thread_status(je, force)) {
638 free(je);
642 *size = sizeof(*je) + strlen((char *) je->run_str) + 1;
643 return je;
648 struct jobs_eta *je;
651 je = get_jobs_eta(false, &size);
652 if (je)
653 display_thread_status(je);
655 free(je);