Em Wed, Aug 05, 2020 at 11:34:40AM +0200, Jiri Olsa escreveu:
> Adding new CLOCK_DATA feature that stores reference times
> when -k/--clockid option is specified.
> 
> It contains clock id and its reference time together with
> wall clock time taken at the 'same time', both values are
> in nanoseconds.
> 
> The format of data is as below:
> 
>   struct {
>        u32 version;  /* version = 1 */
>        u32 clockid;
>        u64 wall_clock_ns;
>        u64 clockid_time_ns;
>   };
> 
> This clock reference times will be used in following changes
> to display wall clock for perf events.
> 
> It's available only for recording with clockid specified,
> because it's the only case where we can get reference time
> to wallclock time. It's can't do that with perf clock yet.

Thanks, applied and added this committer testing section:


    Committer testing:

      $ perf record -h -k

       Usage: perf record [<options>] [<command>]
          or: perf record [<options>] -- <command> [<options>]

          -k, --clockid <clockid>
                                clockid to use for events, see clock_gettime()

      $ perf record -k monotonic sleep 1
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.017 MB perf.data (8 samples) ]
      $ perf report --header-only | grep clockid -A1
      # event : name = cycles:u, , id = { 88815, 88816, 88817, 88818, 88819, 
88820, 88821, 88822 }, size = 120, { sample_period, sample_freq } = 4000, 
sample_type = IP|TID|TIME|PERIOD, read_format = ID, disabled = 1, inherit = 1, 
exclude_kernel = 1, mmap = 1, comm = 1, freq = 1, enable_on_exec = 1, task = 1, 
precise_ip = 3, sample_id_all = 1, exclude_guest = 1, mmap2 = 1, comm_exec = 1, 
use_clockid = 1, ksymbol = 1, bpf_event = 1, clockid = 1
      # CPU_TOPOLOGY info available, use -I to display
      --
      # clockid frequency: 1000 MHz
      # cpu pmu capabilities: branches=32, max_precise=3, pmu_name=skylake
      # clockid: monotonic (1)
      # reference time: 2020-08-06 09:40:21.619290 = 1596717621.619290 (TOD) = 
21931.077673635 (monotonic)
      $

Reply via email to