Skip to content

Commit d51bf67

Browse files
committed
pf2 annotate command
1 parent 001790c commit d51bf67

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

lib/pf2/cli.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ def run(argv)
1919
case subcommand
2020
when 'report'
2121
subcommand_report(argv)
22+
when 'annotate'
23+
subcommand_annotate(argv)
2224
when 'serve'
2325
subcommand_serve(argv)
2426
when 'version'
@@ -77,6 +79,26 @@ def subcommand_report(argv)
7779
return 0
7880
end
7981

82+
def subcommand_annotate(argv)
83+
options = {}
84+
option_parser = OptionParser.new do |opts|
85+
opts.banner = "Usage: pf2 report [options] COMMAND"
86+
opts.on('-h', '--help', 'Prints this help') do
87+
puts opts
88+
return 0
89+
end
90+
opts.on('-d', '--source-directory DIR', 'Path to the source directory') do |dir|
91+
options[:source_directory] = dir
92+
end
93+
end
94+
option_parser.parse!(argv)
95+
96+
profile = Marshal.load(File.binread(argv[0]))
97+
Pf2::Reporter::Annotate.new(profile, options[:source_directory] || '.').annotate
98+
99+
return 0
100+
end
101+
80102
def subcommand_serve(argv)
81103
options = {}
82104
option_parser = OptionParser.new do |opts|

lib/pf2/reporter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# frozen_string_literal: true
22

3+
require_relative './reporter/annotate'
34
require_relative './reporter/stack_weaver'
45
require_relative './reporter/firefox_profiler'
56
require_relative './reporter/firefox_profiler_ser2'

0 commit comments

Comments
 (0)