Home | History | Annotate | Download | only in libperfuse

Lines Matching refs:pt

135 	struct perfuse_trace *pt;
137 if ((pt = malloc(sizeof(*pt))) == NULL)
140 pt->pt_opcode = ps->ps_get_inhdr(pm)->opcode;
141 pt->pt_status = inxchg;
143 if (clock_gettime(CLOCK_REALTIME, &pt->pt_start) != 0)
147 (void)strcpy(pt->pt_path, "");
149 (void)strlcpy(pt->pt_path,
151 sizeof(pt->pt_path));
153 (void)strlcpy(pt->pt_extra,
155 sizeof(pt->pt_extra));
157 TAILQ_INSERT_TAIL(&ps->ps_trace, pt, pt_list);
160 return pt;
164 perfuse_trace_end(struct perfuse_state *ps, struct perfuse_trace *pt, int error)
166 if (clock_gettime(CLOCK_REALTIME, &pt->pt_end) != 0)
169 pt->pt_status = done;
170 pt->pt_error = error;
188 struct perfuse_trace *pt;
211 TAILQ_FOREACH(pt, &ps->ps_trace, pt_list) {
212 const char *quote = pt->pt_path[0] != '\0' ? "\"" : "";
215 (long long)pt->pt_start.tv_sec, pt->pt_start.tv_nsec,
216 perfuse_opname(pt->pt_opcode),
217 quote, pt->pt_path, quote,
218 pt->pt_extra);
220 if (pt->pt_status == done) {
225 timespecsub(&pt->pt_end, &pt->pt_start, &ts);
228 pt->pt_error, (long long)ts.tv_sec,
231 count[pt->pt_opcode]++;
232 timespecadd(&ts_total[pt->pt_opcode],
234 &ts_total[pt->pt_opcode]);
236 if (timespeccmp(&ts, &ts_min[pt->pt_opcode], <) ||
237 (count[pt->pt_opcode] == 1))
238 ts_min[pt->pt_opcode] = ts;
240 if (timespeccmp(&ts, &ts_max[pt->pt_opcode], >))
241 ts_max[pt->pt_opcode] = ts;