Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(452)

Side by Side Diff: third_party/grpc/test/core/profiling/mark_timings.stp

Issue 1932353002: Initial checkin of gRPC to third_party/ Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /* This script requires a command line argument, to be used in the "process"
2 * probe definition.
3 *
4 * For a statically build binary, that'd be the name of the binary itself.
5 * For dinamically built ones, point to the location of the libgprc.so being
6 * used. */
7
8 global starts, times, times_per_tag
9
10 probe process(@1).mark("timing_ns_begin") {
11 starts[$arg1, tid()] = gettimeofday_ns();
12 }
13
14 probe process(@1).mark("timing_ns_end") {
15 tag = $arg1
16 t = gettimeofday_ns();
17 if (s = starts[tag, tid()]) {
18 times[tag, tid()] <<< t-s;
19 delete starts[tag, tid()];
20 }
21 }
22
23 probe end {
24 printf("%15s %9s %10s %10s %10s %10s\n", "tag", "tid", "count",
25 "min(ns)", "avg(ns)", "max(ns)");
26 foreach ([tag+, tid] in times) {
27 printf("%15X %9d %10d %10d %10d %10d\n", tag, tid, @count(times[tag, tid]),
28 @min(times[tag, tid]), @avg(times[tag, tid]), @max(times[tag, tid]));
29 }
30
31 printf("Per tag average of averages\n");
32 foreach ([tag+, tid] in times) {
33 times_per_tag[tag] <<< @avg(times[tag, tid]);
34 }
35 printf("%15s %10s %10s\n", "tag", "count", "avg(ns)");
36 foreach ([tag+] in times_per_tag) {
37 printf("%15X %10d %10d\n", tag, @count(times_per_tag[tag]),
38 @avg(times_per_tag[tag]));
39 }
40 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698