Ejemplo n.º 1
0
static void __add_trace(struct io *iop)
{
	time_t now = time(NULL);

	n_traces++;
	iostat_check_time(iop->t.time);

	if (verbose && ((now - last_vtrace) > 0)) {
		printf("%10lu t (%6.2lf%%)\r", n_traces, pct_done());
		if ((n_traces % 1000000) == 0) printf("\n");
		fflush(stdout);
		last_vtrace = now;
	}

	switch (iop->t.action & 0xffff) {
	case __BLK_TA_QUEUE:		trace_queue(iop); break;
	case __BLK_TA_REMAP:		trace_remap(iop); break;
	case __BLK_TA_INSERT:		trace_insert(iop); break;
	case __BLK_TA_GETRQ:		trace_getrq(iop); break;
	case __BLK_TA_BACKMERGE:	trace_merge(iop); break;
	case __BLK_TA_FRONTMERGE:	trace_merge(iop); break;
	case __BLK_TA_REQUEUE:		trace_requeue(iop); break;
	case __BLK_TA_ISSUE:		trace_issue(iop); break;
	case __BLK_TA_COMPLETE:		trace_complete(iop); break;
	case __BLK_TA_PLUG:		trace_plug(iop); break;
	case __BLK_TA_UNPLUG_IO:	trace_unplug_io(iop); break;
	case __BLK_TA_UNPLUG_TIMER:	trace_unplug_timer(iop); break;
	case __BLK_TA_SLEEPRQ:		trace_sleeprq(iop); break;
	default:
		io_release(iop);
		return;
	}
}
Ejemplo n.º 2
0
void install_malloc_tracer()
{
  tracer.start = malloc_trace_start;
  tracer.stop = malloc_trace_stop;
  tracer.reset = malloc_trace_reset;
  tracer.dump = malloc_trace_dump;
  tracer.id = "memory";

  trace_insert(&tracer);
}
Ejemplo n.º 3
0
void install_mysql_tracer()
{
  tracer.start = mysql_trace_start;
  tracer.stop = mysql_trace_stop;
  tracer.reset = mysql_trace_reset;
  tracer.dump = mysql_trace_dump;
  tracer.id = "mysql";

  trace_insert(&tracer);
}