Lines Matching defs:out

37 	FILE *out;
48 static void output_json_string(FILE *out, const char *s)
50 fputc('"', out);
52 goto out;
58 case '"': fputs("\\\"", out); break;
59 case '\\': fputs("\\\\", out); break;
60 case '\b': fputs("\\b", out); break;
61 case '\f': fputs("\\f", out); break;
62 case '\n': fputs("\\n", out); break;
63 case '\r': fputs("\\r", out); break;
64 case '\t': fputs("\\t", out); break;
69 fprintf(out, "\\u%04x", *s);
71 fputc(*s, out);
77 out:
78 fputc('"', out);
83 static void output_json_delimiters(FILE *out, bool comma, int depth)
88 fputc(',', out);
89 fputc('\n', out);
91 fputc('\t', out);
96 static void output_json_format(FILE *out, bool comma, int depth, const char *format, ...)
100 output_json_delimiters(out, comma, depth);
102 vfprintf(out, format, args);
107 static void output_json_key_string(FILE *out, bool comma, int depth,
110 output_json_delimiters(out, comma, depth);
111 output_json_string(out, key);
112 fputs(": ", out);
113 output_json_string(out, value);
118 static void output_json_key_format(FILE *out, bool comma, int depth,
123 output_json_delimiters(out, comma, depth);
124 output_json_string(out, key);
125 fputs(": ", out);
127 vfprintf(out, format, args);
135 FILE *out = c->out;
137 output_json_format(out, false, 4, "{");
138 output_json_key_format(out, false, 5, "ip", "\"0x%" PRIx64 "\"", ip);
143 fputc(',', out);
144 output_json_key_string(out, false, 5, "symbol", al->sym->name);
150 fputc(',', out);
151 output_json_key_string(out, false, 5, "dso", dso_name);
156 output_json_format(out, false, 4, "}");
166 FILE *out = c->out;
188 fputc(',', out);
189 output_json_format(out, false, 2, "{");
191 output_json_key_format(out, false, 3, "timestamp", "%" PRIi64, sample->time);
192 output_json_key_format(out, true, 3, "pid", "%i", thread__pid(al.thread));
193 output_json_key_format(out, true, 3, "tid", "%i", thread__tid(al.thread));
196 output_json_key_format(out, true, 3, "cpu", "%i", sample->cpu);
198 output_json_key_format(out, true, 3, "cpu", "%i", thread__cpu(al.thread));
200 output_json_key_string(out, true, 3, "comm", thread__comm_str(al.thread));
202 output_json_key_format(out, true, 3, "callchain", "[");
234 fputc(',', out);
244 output_json_format(out, false, 3, "]");
259 output_json_key_string(out, true, 3, fields[i]->name, s.buffer);
267 output_json_format(out, false, 2, "}");
280 FILE *out = c->out;
282 output_json_key_format(out, false, 2, "header-version", "%u", header->version);
290 output_json_key_string(out, true, 2, "captured-on", buf);
295 output_json_key_format(out, true, 2, "data-offset", "%" PRIu64, header->data_offset);
296 output_json_key_format(out, true, 2, "data-size", "%" PRIu64, header->data_size);
297 output_json_key_format(out, true, 2, "feat-offset", "%" PRIu64, header->feat_offset);
299 output_json_key_string(out, true, 2, "hostname", env->hostname);
300 output_json_key_string(out, true, 2, "os-release", env->os_release);
301 output_json_key_string(out, true, 2, "arch", env->arch);
304 output_json_key_string(out, true, 2, "cpu-desc", env->cpu_desc);
306 output_json_key_string(out, true, 2, "cpuid", env->cpuid);
307 output_json_key_format(out, true, 2, "nrcpus-online", "%u", env->nr_cpus_online);
308 output_json_key_format(out, true, 2, "nrcpus-avail", "%u", env->nr_cpus_avail);
311 output_json_key_format(out, true, 2, "clockid",
313 output_json_key_format(out, true, 2, "clock-time",
315 output_json_key_format(out, true, 2, "real-time",
319 output_json_key_string(out, true, 2, "perf-version", env->version);
321 output_json_key_format(out, true, 2, "cmdline", "[");
323 output_json_delimiters(out, i != 0, 3);
324 output_json_string(c->out, env->cmdline_argv[i]);
326 output_json_format(out, false, 2, "]");
389 c.out = fdopen(fd, "w");
390 if (!c.out) {
417 fputc('{', c.out);
422 output_json_format(c.out, false, 1, "\"linux-perf-json-version\": 1");
425 output_json_format(c.out, true, 1, "\"headers\": {");
427 output_json_format(c.out, false, 1, "}");
430 output_json_format(c.out, true, 1, "\"samples\": [");
432 output_json_format(c.out, false, 1, "]");
433 output_json_format(c.out, false, 0, "}");
434 fputc('\n', c.out);
441 (ftell(c.out)) / 1024.0 / 1024.0, c.events_count);
456 fclose(c.out);