Skip to content

Commit 5575c61

Browse files
giordanoZentrik
authored andcommitted
Add aliases for event names
1 parent 995f38f commit 5575c61

File tree

1 file changed

+86
-40
lines changed

1 file changed

+86
-40
lines changed

src/LinuxPerf.jl

Lines changed: 86 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -533,46 +533,92 @@ end
533533
alltids(pid = getpid()) = parse.(typeof(pid), readdir("/proc/$(pid)/task"))
534534

535535
# Event names are taken from the perf command.
536-
const NAME_TO_EVENT = Dict(
537-
# hardware events
538-
"branch-instructions" => EventType(:hw, :branches),
539-
"branch-misses" => EventType(:hw, :branch_mispredicts),
540-
"cache-misses" => EventType(:hw, :cache_misses),
541-
"cache-references" => EventType(:hw, :cache_access),
542-
"cpu-cycles" => EventType(:hw, :cycles),
543-
"instructions" => EventType(:hw, :instructions),
544-
"stalled-cycles-backend" => EventType(:hw, :stalled_cycles_backend),
545-
"stalled-cycles-frontend" => EventType(:hw, :stalled_cycles_frontend),
546-
547-
# software events
548-
"alignment-faults" => EventType(:sw, :alignment_faults),
549-
"bpf-output" => EventType(:sw, :bpf_output),
550-
"context-switches" => EventType(:sw, :ctx_switches),
551-
"cpu-clock" => EventType(:sw, :cpu_clock),
552-
"cpu-migrations" => EventType(:sw, :cpu_migrations),
553-
"dummy" => EventType(:sw, :dummy),
554-
"emulation-faults" => EventType(:sw, :emulation_faults),
555-
"major-faults" => EventType(:sw, :major_page_faults),
556-
"minor-faults" => EventType(:sw, :minor_page_faults),
557-
"page-faults" => EventType(:sw, :page_faults),
558-
"task-clock" => EventType(:sw, :task_clock),
559-
560-
# hardware cache events
561-
"L1-dcache-load-misses" => EventType(:cache, :L1_data, :read, :miss),
562-
"L1-dcache-loads" => EventType(:cache, :L1_data, :read, :access),
563-
"L1-dcache-store-misses" => EventType(:cache, :L1_data, :write, :miss),
564-
"L1-dcache-stores" => EventType(:cache, :L1_data, :write, :access),
565-
"L1-icache-load-misses" => EventType(:cache, :L1_insn, :read, :miss),
566-
"L1-icache-loads" => EventType(:cache, :L1_insn, :read, :access),
567-
"LLC-load-misses" => EventType(:cache, :LLC, :read, :miss),
568-
"LLC-loads" => EventType(:cache, :LLC, :read, :access),
569-
"LLC-store-misses" => EventType(:cache, :LLC, :write, :miss),
570-
"LLC-stores" => EventType(:cache, :LLC, :write, :access),
571-
"dTLB-load-misses" => EventType(:cache, :TLB_data, :read, :miss),
572-
"dTLB-loads" => EventType(:cache, :TLB_data, :read, :access),
573-
"iTLB-load-misses" => EventType(:cache, :TLB_insn, :read, :miss),
574-
"iTLB-loads" => EventType(:cache, :TLB_insn, :read, :access),
575-
)
536+
const NAME_TO_EVENT = let
537+
d = Dict(
538+
# hardware events
539+
"branch-instructions" => EventType(:hw, :branches),
540+
"branch-misses" => EventType(:hw, :branch_mispredicts),
541+
"cache-misses" => EventType(:hw, :cache_misses),
542+
"cache-references" => EventType(:hw, :cache_access),
543+
"cpu-cycles" => EventType(:hw, :cycles),
544+
"instructions" => EventType(:hw, :instructions),
545+
"stalled-cycles-backend" => EventType(:hw, :stalled_cycles_backend),
546+
"stalled-cycles-frontend" => EventType(:hw, :stalled_cycles_frontend),
547+
548+
# software events
549+
"alignment-faults" => EventType(:sw, :alignment_faults),
550+
"bpf-output" => EventType(:sw, :bpf_output),
551+
"context-switches" => EventType(:sw, :ctx_switches),
552+
"cpu-clock" => EventType(:sw, :cpu_clock),
553+
"cpu-migrations" => EventType(:sw, :cpu_migrations),
554+
"dummy" => EventType(:sw, :dummy),
555+
"emulation-faults" => EventType(:sw, :emulation_faults),
556+
"major-faults" => EventType(:sw, :major_page_faults),
557+
"minor-faults" => EventType(:sw, :minor_page_faults),
558+
"page-faults" => EventType(:sw, :page_faults),
559+
"task-clock" => EventType(:sw, :task_clock),
560+
561+
# hardware cache events
562+
"L1-dcache-load-misses" => EventType(:cache, :L1_data, :read, :miss),
563+
"L1-dcache-loads" => EventType(:cache, :L1_data, :read, :access),
564+
"L1-dcache-store-misses" => EventType(:cache, :L1_data, :write, :miss),
565+
"L1-dcache-stores" => EventType(:cache, :L1_data, :write, :access),
566+
"L1-icache-load-misses" => EventType(:cache, :L1_insn, :read, :miss),
567+
"L1-icache-loads" => EventType(:cache, :L1_insn, :read, :access),
568+
"LLC-load-misses" => EventType(:cache, :LLC, :read, :miss),
569+
"LLC-loads" => EventType(:cache, :LLC, :read, :access),
570+
"LLC-store-misses" => EventType(:cache, :LLC, :write, :miss),
571+
"LLC-stores" => EventType(:cache, :LLC, :write, :access),
572+
"dTLB-load-misses" => EventType(:cache, :TLB_data, :read, :miss),
573+
"dTLB-loads" => EventType(:cache, :TLB_data, :read, :access),
574+
"iTLB-load-misses" => EventType(:cache, :TLB_insn, :read, :miss),
575+
"iTLB-loads" => EventType(:cache, :TLB_insn, :read, :access),
576+
)
577+
578+
# Add aliases
579+
d["branch"] = d["branch-instructions"]
580+
d["cpu"] = d["cpu-cycles"]
581+
d["idle-cycles-backend"] = d["stalled-cycles-backend"]
582+
d["idle-cycles-frontend"] = d["stalled-cycles-frontend"]
583+
d["migrations"] = d["cpu-migrations"]
584+
d["faults"] = d["page-faults"]
585+
d["cpu_atom/L1-dcache-loads/"] = d["L1-dcache-loads"]
586+
d["cpu_atom/L1-dcache-stores/"] = d["L1-dcache-stores"]
587+
d["cpu_atom/L1-icache-loads/"] = d["L1-icache-loads"]
588+
d["cpu_atom/L1-icache-load-misses/"] = d["L1-icache-load-misses"]
589+
d["cpu_atom/LLC-loads/"] = d["LLC-loads"]
590+
d["cpu_atom/LLC-load-misses/"] = d["LLC-load-misses"]
591+
d["cpu_atom/LLC-stores/"] = d["LLC-stores"]
592+
d["cpu_atom/LLC-store-misses/"] = d["LLC-store-misses"]
593+
d["cpu_atom/dTLB-loads/"] = d["dTLB-loads"]
594+
d["cpu_atom/dTLB-load-misses/"] = d["dTLB-load-misses"]
595+
d["cpu_atom/iTLB-load-misses/"] = d["iTLB-load-misses"]
596+
d["cpu_core/L1-dcache-loads/"] = d["L1-dcache-loads"]
597+
d["cpu_core/L1-dcache-load-misses/"] = d["L1-dcache-load-misses"]
598+
d["cpu_core/L1-dcache-stores/"] = d["L1-dcache-stores"]
599+
d["cpu_core/L1-icache-load-misses/"] = d["L1-icache-load-misses"]
600+
d["cpu_core/LLC-loads/"] = d["LLC-loads"]
601+
d["cpu_core/LLC-load-misses/"] = d["LLC-load-misses"]
602+
d["cpu_core/LLC-stores/"] = d["LLC-stores"]
603+
d["cpu_core/LLC-store-misses/"] = d["LLC-store-misses"]
604+
d["cpu_core/dTLB-loads/"] = d["dTLB-loads"]
605+
d["cpu_core/dTLB-load-misses/"] = d["dTLB-load-misses"]
606+
d["cpu_core/iTLB-load-misses/"] = d["iTLB-load-misses"]
607+
d["cpu_atom/branch-instructions/"] = d["branch-instructions"]
608+
d["cpu_atom/branch-misses/"] = d["branch-misses"]
609+
d["cpu_atom/cache-misses/"] = d["cache-misses"]
610+
d["cpu_atom/cache-references/"] = d["cache-references"]
611+
d["cpu_atom/cpu-cycles/"] = d["cpu-cycles"]
612+
d["cpu_atom/instructions/"] = d["instructions"]
613+
d["cpu_core/branch-instructions/"] = d["branch-instructions"]
614+
d["cpu_core/branch-misses/"] = d["branch-misses"]
615+
d["cpu_core/cache-misses/"] = d["cache-misses"]
616+
d["cpu_core/cache-references/"] = d["cache-references"]
617+
d["cpu_core/cpu-cycles/"] = d["cpu-cycles"]
618+
d["cpu_core/instructions/"] = d["instructions"]
619+
620+
d
621+
end
576622
const EVENT_TO_NAME = Dict(event => name for (name, event) in NAME_TO_EVENT)
577623

578624
function is_supported(event::EventType; space::Symbol)

0 commit comments

Comments
 (0)