lkml.org 
[lkml]   [2016]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf tools: Move timestamp creation to util
    Commit-ID:  37b20151efe002a4a43532d3791d11d39d080248
    Gitweb: http://git.kernel.org/tip/37b20151efe002a4a43532d3791d11d39d080248
    Author: Wang Nan <wangnan0@huawei.com>
    AuthorDate: Mon, 25 Jan 2016 09:56:13 +0000
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Fri, 29 Jan 2016 17:30:06 -0300

    perf tools: Move timestamp creation to util

    Timestamp generation becomes a public available helper. Which will
    be used by 'perf record', help it output to split output file based
    on time.

    For example:

    perf.data.2015122620363710
    perf.data.2015122620364092
    perf.data.2015122620365423
    ...

    Signed-off-by: Wang Nan <wangnan0@huawei.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: He Kuang <hekuang@huawei.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Li Zefan <lizefan@huawei.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1453715801-7732-27-git-send-email-wangnan0@huawei.com
    Signed-off-by: He Kuang <hekuang@huawei.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/builtin-buildid-cache.c | 14 +-------------
    tools/perf/util/util.c | 17 +++++++++++++++++
    tools/perf/util/util.h | 1 +
    3 files changed, 19 insertions(+), 13 deletions(-)

    diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildid-cache.c
    index d93bff7..632efc6 100644
    --- a/tools/perf/builtin-buildid-cache.c
    +++ b/tools/perf/builtin-buildid-cache.c
    @@ -38,19 +38,7 @@ static int build_id_cache__kcore_buildid(const char *proc_dir, char *sbuildid)

    static int build_id_cache__kcore_dir(char *dir, size_t sz)
    {
    - struct timeval tv;
    - struct tm tm;
    - char dt[32];
    -
    - if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm))
    - return -1;
    -
    - if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm))
    - return -1;
    -
    - scnprintf(dir, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000);
    -
    - return 0;
    + return fetch_current_timestamp(dir, sz);
    }

    static bool same_kallsyms_reloc(const char *from_dir, char *to_dir)
    diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
    index 7a2da7e..b9e2843 100644
    --- a/tools/perf/util/util.c
    +++ b/tools/perf/util/util.c
    @@ -701,3 +701,20 @@ bool is_regular_file(const char *file)

    return S_ISREG(st.st_mode);
    }
    +
    +int fetch_current_timestamp(char *buf, size_t sz)
    +{
    + struct timeval tv;
    + struct tm tm;
    + char dt[32];
    +
    + if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm))
    + return -1;
    +
    + if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm))
    + return -1;
    +
    + scnprintf(buf, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000);
    +
    + return 0;
    +}
    diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
    index 61650f0..a861581 100644
    --- a/tools/perf/util/util.h
    +++ b/tools/perf/util/util.h
    @@ -344,5 +344,6 @@ int fetch_kernel_version(unsigned int *puint,

    const char *perf_tip(const char *dirpath);
    bool is_regular_file(const char *file);
    +int fetch_current_timestamp(char *buf, size_t sz);

    #endif /* GIT_COMPAT_UTIL_H */
    \
     
     \ /
      Last update: 2016-02-03 11:41    [W:5.302 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site