Lines Matching refs:out
36 FILE *out; member
42 static void output_json_string(FILE *out, const char *s) in output_json_string() argument
44 fputc('"', out); in output_json_string()
49 case '"': fputs("\\\"", out); break; in output_json_string()
50 case '\\': fputs("\\\\", out); break; in output_json_string()
51 case '\b': fputs("\\b", out); break; in output_json_string()
52 case '\f': fputs("\\f", out); break; in output_json_string()
53 case '\n': fputs("\\n", out); break; in output_json_string()
54 case '\r': fputs("\\r", out); break; in output_json_string()
55 case '\t': fputs("\\t", out); break; in output_json_string()
60 fprintf(out, "\\u%04x", *s); in output_json_string()
62 fputc(*s, out); in output_json_string()
68 fputc('"', out); in output_json_string()
73 static void output_json_delimiters(FILE *out, bool comma, int depth) in output_json_delimiters() argument
78 fputc(',', out); in output_json_delimiters()
79 fputc('\n', out); in output_json_delimiters()
81 fputc('\t', out); in output_json_delimiters()
86 static void output_json_format(FILE *out, bool comma, int depth, const char *format, ...) in output_json_format() argument
90 output_json_delimiters(out, comma, depth); in output_json_format()
92 vfprintf(out, format, args); in output_json_format()
97 static void output_json_key_string(FILE *out, bool comma, int depth, in output_json_key_string() argument
100 output_json_delimiters(out, comma, depth); in output_json_key_string()
101 output_json_string(out, key); in output_json_key_string()
102 fputs(": ", out); in output_json_key_string()
103 output_json_string(out, value); in output_json_key_string()
108 static void output_json_key_format(FILE *out, bool comma, int depth, in output_json_key_format() argument
113 output_json_delimiters(out, comma, depth); in output_json_key_format()
114 output_json_string(out, key); in output_json_key_format()
115 fputs(": ", out); in output_json_key_format()
117 vfprintf(out, format, args); in output_json_key_format()
125 FILE *out = c->out; in output_sample_callchain_entry() local
127 output_json_format(out, false, 4, "{"); in output_sample_callchain_entry()
128 output_json_key_format(out, false, 5, "ip", "\"0x%" PRIx64 "\"", ip); in output_sample_callchain_entry()
131 fputc(',', out); in output_sample_callchain_entry()
132 output_json_key_string(out, false, 5, "symbol", al->sym->name); in output_sample_callchain_entry()
138 fputc(',', out); in output_sample_callchain_entry()
139 output_json_key_string(out, false, 5, "dso", dso); in output_sample_callchain_entry()
144 output_json_format(out, false, 4, "}"); in output_sample_callchain_entry()
154 FILE *out = c->out; in process_sample_event() local
169 fputc(',', out); in process_sample_event()
170 output_json_format(out, false, 2, "{"); in process_sample_event()
172 output_json_key_format(out, false, 3, "timestamp", "%" PRIi64, sample->time); in process_sample_event()
173 output_json_key_format(out, true, 3, "pid", "%i", al.thread->pid_); in process_sample_event()
174 output_json_key_format(out, true, 3, "tid", "%i", al.thread->tid); in process_sample_event()
177 output_json_key_format(out, true, 3, "cpu", "%i", sample->cpu); in process_sample_event()
179 output_json_key_format(out, true, 3, "cpu", "%i", al.thread->cpu); in process_sample_event()
181 output_json_key_string(out, true, 3, "comm", thread__comm_str(al.thread)); in process_sample_event()
183 output_json_key_format(out, true, 3, "callchain", "["); in process_sample_event()
214 fputc(',', out); in process_sample_event()
222 output_json_format(out, false, 3, "]"); in process_sample_event()
237 output_json_key_string(out, true, 3, fields[i]->name, s.buffer); in process_sample_event()
245 output_json_format(out, false, 2, "}"); in process_sample_event()
256 FILE *out = c->out; in output_headers() local
258 output_json_key_format(out, false, 2, "header-version", "%u", header->version); in output_headers()
266 output_json_key_string(out, true, 2, "captured-on", buf); in output_headers()
271 output_json_key_format(out, true, 2, "data-offset", "%" PRIu64, header->data_offset); in output_headers()
272 output_json_key_format(out, true, 2, "data-size", "%" PRIu64, header->data_size); in output_headers()
273 output_json_key_format(out, true, 2, "feat-offset", "%" PRIu64, header->feat_offset); in output_headers()
275 output_json_key_string(out, true, 2, "hostname", header->env.hostname); in output_headers()
276 output_json_key_string(out, true, 2, "os-release", header->env.os_release); in output_headers()
277 output_json_key_string(out, true, 2, "arch", header->env.arch); in output_headers()
279 output_json_key_string(out, true, 2, "cpu-desc", header->env.cpu_desc); in output_headers()
280 output_json_key_string(out, true, 2, "cpuid", header->env.cpuid); in output_headers()
281 output_json_key_format(out, true, 2, "nrcpus-online", "%u", header->env.nr_cpus_online); in output_headers()
282 output_json_key_format(out, true, 2, "nrcpus-avail", "%u", header->env.nr_cpus_avail); in output_headers()
285 output_json_key_format(out, true, 2, "clockid", in output_headers()
287 output_json_key_format(out, true, 2, "clock-time", in output_headers()
289 output_json_key_format(out, true, 2, "real-time", in output_headers()
293 output_json_key_string(out, true, 2, "perf-version", header->env.version); in output_headers()
295 output_json_key_format(out, true, 2, "cmdline", "["); in output_headers()
297 output_json_delimiters(out, i != 0, 3); in output_headers()
298 output_json_string(c->out, header->env.cmdline_argv[i]); in output_headers()
300 output_json_format(out, false, 2, "]"); in output_headers()
360 c.out = fdopen(fd, "w"); in bt_convert__perf2json()
361 if (!c.out) { in bt_convert__perf2json()
380 fputc('{', c.out); in bt_convert__perf2json()
385 output_json_format(c.out, false, 1, "\"linux-perf-json-version\": 1"); in bt_convert__perf2json()
388 output_json_format(c.out, true, 1, "\"headers\": {"); in bt_convert__perf2json()
390 output_json_format(c.out, false, 1, "}"); in bt_convert__perf2json()
393 output_json_format(c.out, true, 1, "\"samples\": ["); in bt_convert__perf2json()
395 output_json_format(c.out, false, 1, "]"); in bt_convert__perf2json()
396 output_json_format(c.out, false, 0, "}"); in bt_convert__perf2json()
397 fputc('\n', c.out); in bt_convert__perf2json()
405 (ftell(c.out)) / 1024.0 / 1024.0, c.events_count); in bt_convert__perf2json()
411 fclose(c.out); in bt_convert__perf2json()