/linux-4.4.14/tools/perf/util/scripting-engines/ |
H A D | trace-event-perl.c | 451 FILE *ofp; perl_generate_script() local 454 ofp = fopen(fname, "w"); perl_generate_script() 455 if (ofp == NULL) { perl_generate_script() 460 fprintf(ofp, "# perf script event handlers, " perl_generate_script() 463 fprintf(ofp, "# Licensed under the terms of the GNU GPL" perl_generate_script() 466 fprintf(ofp, "# The common_* event handler fields are the most useful " perl_generate_script() 469 fprintf(ofp, "# all events. They don't necessarily correspond to " perl_generate_script() 472 fprintf(ofp, "# in the format files. Those fields not available as " perl_generate_script() 475 fprintf(ofp, "# be retrieved using Perl functions of the form " perl_generate_script() 478 fprintf(ofp, "# See Context.pm for the list of available " perl_generate_script() 481 fprintf(ofp, "use lib \"$ENV{'PERF_EXEC_PATH'}/scripts/perl/" perl_generate_script() 484 fprintf(ofp, "use lib \"./Perf-Trace-Util/lib\";\n"); perl_generate_script() 485 fprintf(ofp, "use Perf::Trace::Core;\n"); perl_generate_script() 486 fprintf(ofp, "use Perf::Trace::Context;\n"); perl_generate_script() 487 fprintf(ofp, "use Perf::Trace::Util;\n\n"); perl_generate_script() 489 fprintf(ofp, "sub trace_begin\n{\n\t# optional\n}\n\n"); perl_generate_script() 490 fprintf(ofp, "sub trace_end\n{\n\t# optional\n}\n\n"); perl_generate_script() 493 fprintf(ofp, "sub %s::%s\n{\n", event->system, event->name); perl_generate_script() 494 fprintf(ofp, "\tmy ("); perl_generate_script() 496 fprintf(ofp, "$event_name, "); perl_generate_script() 497 fprintf(ofp, "$context, "); perl_generate_script() 498 fprintf(ofp, "$common_cpu, "); perl_generate_script() 499 fprintf(ofp, "$common_secs, "); perl_generate_script() 500 fprintf(ofp, "$common_nsecs,\n"); perl_generate_script() 501 fprintf(ofp, "\t $common_pid, "); perl_generate_script() 502 fprintf(ofp, "$common_comm,\n\t "); perl_generate_script() 509 fprintf(ofp, ", "); perl_generate_script() 511 fprintf(ofp, "\n\t "); perl_generate_script() 513 fprintf(ofp, "$%s", f->name); perl_generate_script() 515 fprintf(ofp, ") = @_;\n\n"); perl_generate_script() 517 fprintf(ofp, "\tprint_header($event_name, $common_cpu, " perl_generate_script() 521 fprintf(ofp, "\tprintf(\""); perl_generate_script() 528 fprintf(ofp, ", "); perl_generate_script() 530 fprintf(ofp, "\".\n\t \""); perl_generate_script() 534 fprintf(ofp, "%s=", f->name); perl_generate_script() 538 fprintf(ofp, "%%s"); perl_generate_script() 540 fprintf(ofp, "%%d"); perl_generate_script() 542 fprintf(ofp, "%%u"); perl_generate_script() 545 fprintf(ofp, "\\n\",\n\t "); perl_generate_script() 552 fprintf(ofp, ", "); perl_generate_script() 555 fprintf(ofp, "\n\t "); perl_generate_script() 559 fprintf(ofp, "\n\t "); perl_generate_script() 562 fprintf(ofp, "flag_str(\""); perl_generate_script() 563 fprintf(ofp, "%s::%s\", ", event->system, perl_generate_script() 565 fprintf(ofp, "\"%s\", $%s)", f->name, perl_generate_script() 569 fprintf(ofp, "\n\t "); perl_generate_script() 572 fprintf(ofp, "symbol_str(\""); perl_generate_script() 573 fprintf(ofp, "%s::%s\", ", event->system, perl_generate_script() 575 fprintf(ofp, "\"%s\", $%s)", f->name, perl_generate_script() 578 fprintf(ofp, "$%s", f->name); perl_generate_script() 581 fprintf(ofp, ");\n"); perl_generate_script() 582 fprintf(ofp, "}\n\n"); perl_generate_script() 585 fprintf(ofp, "sub trace_unhandled\n{\n\tmy ($event_name, $context, " perl_generate_script() 589 fprintf(ofp, "\tprint_header($event_name, $common_cpu, " perl_generate_script() 593 fprintf(ofp, "sub print_header\n{\n" perl_generate_script() 598 fprintf(ofp, perl_generate_script() 619 fclose(ofp); perl_generate_script()
|
H A D | trace-event-python.c | 1042 FILE *ofp; python_generate_script() local 1045 ofp = fopen(fname, "w"); python_generate_script() 1046 if (ofp == NULL) { python_generate_script() 1050 fprintf(ofp, "# perf script event handlers, " python_generate_script() 1053 fprintf(ofp, "# Licensed under the terms of the GNU GPL" python_generate_script() 1056 fprintf(ofp, "# The common_* event handler fields are the most useful " python_generate_script() 1059 fprintf(ofp, "# all events. They don't necessarily correspond to " python_generate_script() 1062 fprintf(ofp, "# in the format files. Those fields not available as " python_generate_script() 1065 fprintf(ofp, "# be retrieved using Python functions of the form " python_generate_script() 1068 fprintf(ofp, "# See the perf-trace-python Documentation for the list " python_generate_script() 1071 fprintf(ofp, "import os\n"); python_generate_script() 1072 fprintf(ofp, "import sys\n\n"); python_generate_script() 1074 fprintf(ofp, "sys.path.append(os.environ['PERF_EXEC_PATH'] + \\\n"); python_generate_script() 1075 fprintf(ofp, "\t'/scripts/python/Perf-Trace-Util/lib/Perf/Trace')\n"); python_generate_script() 1076 fprintf(ofp, "\nfrom perf_trace_context import *\n"); python_generate_script() 1077 fprintf(ofp, "from Core import *\n\n\n"); python_generate_script() 1079 fprintf(ofp, "def trace_begin():\n"); python_generate_script() 1080 fprintf(ofp, "\tprint \"in trace_begin\"\n\n"); python_generate_script() 1082 fprintf(ofp, "def trace_end():\n"); python_generate_script() 1083 fprintf(ofp, "\tprint \"in trace_end\"\n\n"); python_generate_script() 1086 fprintf(ofp, "def %s__%s(", event->system, event->name); python_generate_script() 1087 fprintf(ofp, "event_name, "); python_generate_script() 1088 fprintf(ofp, "context, "); python_generate_script() 1089 fprintf(ofp, "common_cpu,\n"); python_generate_script() 1090 fprintf(ofp, "\tcommon_secs, "); python_generate_script() 1091 fprintf(ofp, "common_nsecs, "); python_generate_script() 1092 fprintf(ofp, "common_pid, "); python_generate_script() 1093 fprintf(ofp, "common_comm,\n\t"); python_generate_script() 1094 fprintf(ofp, "common_callchain, "); python_generate_script() 1101 fprintf(ofp, ", "); python_generate_script() 1103 fprintf(ofp, "\n\t"); python_generate_script() 1105 fprintf(ofp, "%s", f->name); python_generate_script() 1107 fprintf(ofp, "):\n"); python_generate_script() 1109 fprintf(ofp, "\t\tprint_header(event_name, common_cpu, " python_generate_script() 1113 fprintf(ofp, "\t\tprint \""); python_generate_script() 1120 fprintf(ofp, ", "); python_generate_script() 1122 fprintf(ofp, "\" \\\n\t\t\""); python_generate_script() 1126 fprintf(ofp, "%s=", f->name); python_generate_script() 1131 fprintf(ofp, "%%s"); python_generate_script() 1133 fprintf(ofp, "%%d"); python_generate_script() 1135 fprintf(ofp, "%%u"); python_generate_script() 1138 fprintf(ofp, "\" %% \\\n\t\t("); python_generate_script() 1145 fprintf(ofp, ", "); python_generate_script() 1148 fprintf(ofp, "\n\t\t"); python_generate_script() 1152 fprintf(ofp, "\n\t\t"); python_generate_script() 1155 fprintf(ofp, "flag_str(\""); python_generate_script() 1156 fprintf(ofp, "%s__%s\", ", event->system, python_generate_script() 1158 fprintf(ofp, "\"%s\", %s)", f->name, python_generate_script() 1162 fprintf(ofp, "\n\t\t"); python_generate_script() 1165 fprintf(ofp, "symbol_str(\""); python_generate_script() 1166 fprintf(ofp, "%s__%s\", ", event->system, python_generate_script() 1168 fprintf(ofp, "\"%s\", %s)", f->name, python_generate_script() 1171 fprintf(ofp, "%s", f->name); python_generate_script() 1174 fprintf(ofp, ")\n\n"); python_generate_script() 1176 fprintf(ofp, "\t\tfor node in common_callchain:"); python_generate_script() 1177 fprintf(ofp, "\n\t\t\tif 'sym' in node:"); python_generate_script() 1178 fprintf(ofp, "\n\t\t\t\tprint \"\\t[%%x] %%s\" %% (node['ip'], node['sym']['name'])"); python_generate_script() 1179 fprintf(ofp, "\n\t\t\telse:"); python_generate_script() 1180 fprintf(ofp, "\n\t\t\t\tprint \"\t[%%x]\" %% (node['ip'])\n\n"); python_generate_script() 1181 fprintf(ofp, "\t\tprint \"\\n\"\n\n"); python_generate_script() 1185 fprintf(ofp, "def trace_unhandled(event_name, context, " python_generate_script() 1188 fprintf(ofp, "\t\tprint ' '.join(['%%s=%%s'%%(k,str(v))" python_generate_script() 1191 fprintf(ofp, "def print_header(" python_generate_script() 1196 fclose(ofp); python_generate_script()
|