Array handling question

Zoltan Kiss zoltan.kiss@linaro.org
Mon Jul 20 18:15:00 GMT 2015


Hi,

I have troubles to get what I want from linetimes.stp example, so I've 
decided to create my own somewhat simplified version. I'm currently 
interested in the average runtime of a function after a certain number 
of runs, but apparently it gives me values like 74279383992077, which is 
clearly wrong. And I have a feeling I'm misunderstanding something 
obvious about the array handling, but I couldn't figure out what.
Could anyone give me an advice about what am I missing?

Regards,

Zoltan Kiss

And here is my example script:

global cnt = 0;
global starttime = 0;
global runtimes;

probe process(<procname>).function(<funcname>).call {
         starttime = gettimeofday_ns();
}

probe process(<procname>).function(<funcname>).return {
	runtime = gettimeofday_ns() - starttime;
	starttime = 0;
	runtimes <<< runtime;
	if (cnt > 50000) {
		printf("Runtime avg: %u\n", @avg(runtimes));
		delete runtimes;
		cnt = 0;
	}
	cnt++;
}



More information about the Systemtap mailing list