Re: [PATCH v4 00/46] Libtraceevent MAN pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Claudio,
On Fri, Mar 8, 2019 at 4:19 PM Claudio <claudio.fontana@xxxxxxxxx> wrote:
>
>
>
> On 3/8/19 2:36 PM, Tzvetomir Stoyanov wrote:
> > [
> >  V4 changes:
> >   - Addressed Steven Rostedt comments
> >   - Removed trailing whitespace
> >
> >  V3 changes:
> >   - Combines all man page related patches into one series.
> >   - Removes any dependencies between man page related patches
> >     and patches related to the APIs implementation.
> > ]
> >
> > This patch series includes implementation of libtraceevent
> > man pages, describing all APIs of the library.
>
> Hello,
>
> is there a general man page entry that explains what libtracevent does?
>
> Maybe a manual section 3 or 7 entry like
>
> LIBTRACEEVENT(3)
>
> Maybe I have missed it? I think it would helpful, to avoid a disconnect between what a user might expect the library to do,
> vs what it actually does, to which use case it is suited for.
>

There is libtraceevent(3) man page, part of the first patch from the
series - "tools/lib/traceevent: Implement libtraceevent man pages ",
file tools/lib/traceevent/Documentation/libtraceevent.txt. It contains
summary of all APIs and short description of the library.

> Just as a case in point, at the moment these are the features which would be needed for me to use this
> library for the real time tracing requirements I am facing (response times, fixed allocation of cpu tracing usage/overhead):
>
> - resource usage description of APIs, which APIs allocate memory, open file descriptors and such,
>   some examples of resource lifetime would be helpful (pardon if they are there already and I missed them)

There are such description in the relevant man pages, together with
examples - look at tep_alloc man page for example. Any feedback is
welcome.

>
> - support for in-order delivery of events already correlated from multiple cores
>
> - network streaming support (maybe already working?)
>
> - support for getting TGID in addition to the COMM for each (sched) event in addition to the PID.
>
> Currently we have implemented all of this inside the application,
> but we could get rid of this complexity in the future if this library could provide this out of the box,
> without serious impacts on cpu overhead and latency requirements.
>
> Just a simple description of the overall goals of the library and common patterns,
> notes on resource usage, etc, would be enough I think to be able to quickly see if it fits the application use case..
>
> Thank you,
>
> Claudio
>

Steven could describe it in more details, but we work on common
tracing platform - set of libraries, which will expose the tracing
functionality, currently available for trace-cmd and kernelshark only,
to any application.

> >
> > Tzvetomir Stoyanov (46):
> >   tools/lib/traceevent: Implement libtraceevent man pages
> >   tools/lib/traceevent: Fix libtraceevent/Documentation Makefile
> >   tools/lib/traceevent: Add support for man pages with multiple names
> >   tools/lib/traceevent: libtraceevent Makefile "help" target
> >   tools/lib/traceevent: libtraceevent man pages for tep_handler related
> >     APIs
> >   tools/lib/traceevent: Man page for tep_get_header_page_size()
> >   tools/lib/traceevent: Man page for tep_get_cpus() and tep_set_cpus()
> >   tools/lib/traceevent: Man page for tep_is_file_bigendian() and
> >     tep_set_file_bigendian()
> >   tools/lib/traceevent: Man page for tep_is_host_bigendian() and
> >     tep_set_host_bigendian()
> >   tools/lib/traceevent: Man page for tep_is_latency_format() and
> >     tep_set_latency_format()
> >   tools/lib/traceevent: Man page for tep_get_page_size() and
> >     tep_set_page_size()
> >   tools/lib/traceevent: Man page for tep_strerror()
> >   tools/lib/traceevent: Man page for tep_register_trace_clock()
> >   tools/lib/traceevent: Man pages for tep_register_event_handler() and
> >     tep_unregister_event_handler()
> >   tools/lib/traceevent: Man pages for tep_register_function() and
> >     tep_register_print_string()
> >   tools/lib/traceevent: Man pages for tep_register_print_function() and
> >     tep_unregister_print_function()
> >   tools/lib/traceevent: Man page for tep_read_number()
> >   tools/lib/traceevent: Man pages for tep_find_event(),
> >     tep_find_event_by_name() and tep_find_event_by_record()
> >   tools/lib/traceevent: Man page for tep_list_events()
> >   tools/lib/traceevent: Man pages for tep_print_event(),
> >     tep_print_event_data(), tep_event_info(), tep_print_event_task() and
> >     tep_print_event_time()
> >   tools/lib/traceevent: Man pages tep_get_first_event() and
> >     tep_get_events_count()
> >   tools/lib/traceevent: Man pages tep_find_common_field(),
> >     tep_find_field() and tep_find_any_field()
> >   tools/lib/traceevent: Man pages tep_get_any_field_val(),
> >     tep_get_common_field_val(), tep_get_field_val() and
> >     tep_get_field_raw()
> >   tools/lib/traceevent: Man pages for tep_print_field(),
> >     tep_print_fields(), tep_print_num_field() and tep_print_func_field()
> >   tools/lib/traceevent: Man page for tep_read_number_field()
> >   tools/lib/traceevent: Man pages for tep_event_common_fields() and
> >     tep_event_fields()
> >   tools/lib/traceevent: Man pages for tep_filter_alloc(),
> >     tep_filter_free() and tep_filter_reset()
> >   tools/lib/traceevent: Man page for tep_filter_add_filter_str()
> >   tools/lib/traceevent: Man page for tep_filter_strerror()
> >   tools/lib/traceevent: Man pages for tep_event_filtered() and
> >     tep_filter_remove_event()
> >   tools/lib/traceevent: Man page for tep_filter_match()
> >   tools/lib/traceevent: Man pages for tep_filter_copy() and
> >     tep_filter_compare()
> >   tools/lib/traceevent: Man page for tep_filter_make_string()
> >   tools/lib/traceevent: Man pages for tep_filter_event_has_trivial(),
> >     tep_update_trivial() and tep_filter_clear_trivial()
> >   tools/lib/traceevent: Man pages for tep_find_function() and
> >     tep_find_function_address()
> >   tools/lib/traceevent: Man pages for tep_set_function_resolver() and
> >     tep_reset_function_resolver()
> >   tools/lib/traceevent: Man pages for tep_parse_event() and
> >     tep_parse_format()
> >   tools/lib/traceevent: Man page for tep_parse_header_page()
> >   tools/lib/traceevent: Man pages for tep_load_plugins() and
> >     tep_unload_plugin()
> >   tools/lib/traceevent: Man page for tep_data_lat_fmt()
> >   tools/lib/traceevent: Man pages for tep_data_type(), tep_data_pid(),
> >     tep_data_preempt_count() and tep_data_flags()
> >   tools/lib/traceevent: Man pages for trace_seq_init() and
> >     trace_seq_destroy()
> >   tools/lib/traceevent: Man pages for trace_seq_do_fprintf() and
> >     trace_seq_do_printf()
> >   tools/lib/traceevent: Man pages for trace_seq_printf() and
> >     trace_seq_vprintf()
> >   tools/lib/traceevent: Man pages for trace_seq_putc() and
> >     trace_seq_puts()
> >   tools/lib/traceevent: Man pages for trace_seq_reset() and
> >     trace_seq_terminate()
> >
> >  tools/lib/traceevent/Documentation/Makefile   | 208 ++++++++++++++++++
> >  .../traceevent/Documentation/asciidoc.conf    | 120 ++++++++++
> >  .../Documentation/libtraceevent-commands.txt  | 130 +++++++++++
> >  .../Documentation/libtraceevent-cpus.txt      |  77 +++++++
> >  .../libtraceevent-endian_read.txt             |  76 +++++++
> >  .../libtraceevent-event_find.txt              |  99 +++++++++
> >  .../libtraceevent-event_list.txt              |  94 ++++++++
> >  .../libtraceevent-event_print.txt             | 126 +++++++++++
> >  .../Documentation/libtraceevent-events.txt    |  87 ++++++++
> >  .../libtraceevent-field_find.txt              |  98 +++++++++
> >  .../libtraceevent-field_get_val.txt           | 117 ++++++++++
> >  .../libtraceevent-field_print.txt             | 120 ++++++++++
> >  .../libtraceevent-field_read.txt              |  80 +++++++
> >  .../Documentation/libtraceevent-fields.txt    |  99 +++++++++
> >  .../libtraceevent-file_endian.txt             |  89 ++++++++
> >  .../Documentation/libtraceevent-filter.txt    |  85 +++++++
> >  .../libtraceevent-filter_add.txt              |  78 +++++++
> >  .../libtraceevent-filter_error.txt            |  78 +++++++
> >  .../libtraceevent-filter_event.txt            |  84 +++++++
> >  .../libtraceevent-filter_match.txt            |  96 ++++++++
> >  .../libtraceevent-filter_oper.txt             |  84 +++++++
> >  .../libtraceevent-filter_show.txt             |  75 +++++++
> >  .../libtraceevent-filter_trivial.txt          | 112 ++++++++++
> >  .../Documentation/libtraceevent-func_find.txt |  88 ++++++++
> >  .../libtraceevent-func_resolve.txt            |  96 ++++++++
> >  .../Documentation/libtraceevent-handle.txt    | 101 +++++++++
> >  .../libtraceevent-header_size.txt             |  73 ++++++
> >  .../libtraceevent-host_endian.txt             |  91 ++++++++
> >  .../libtraceevent-latency_format.txt          | 140 ++++++++++++
> >  .../Documentation/libtraceevent-long_size.txt |  78 +++++++
> >  .../Documentation/libtraceevent-page_size.txt |  80 +++++++
> >  .../libtraceevent-parse_event.txt             |  90 ++++++++
> >  .../libtraceevent-parse_head.txt              |  82 +++++++
> >  .../Documentation/libtraceevent-plugins.txt   |  98 +++++++++
> >  .../libtraceevent-record_lat.txt              |  77 +++++++
> >  .../libtraceevent-record_parse.txt            | 134 +++++++++++
> >  .../Documentation/libtraceevent-reg_clock.txt |  77 +++++++
> >  .../libtraceevent-reg_event_handler.txt       | 129 +++++++++++
> >  .../libtraceevent-reg_funcstr.txt             |  89 ++++++++
> >  .../libtraceevent-reg_print_func.txt          | 128 +++++++++++
> >  .../Documentation/libtraceevent-set_flag.txt  |  90 ++++++++
> >  .../Documentation/libtraceevent-strerror.txt  |  78 +++++++
> >  .../Documentation/libtraceevent-tseq.txt      |  76 +++++++
> >  .../libtraceevent-tseq_doprint.txt            |  89 ++++++++
> >  .../libtraceevent-tseq_print.txt              |  96 ++++++++
> >  .../Documentation/libtraceevent-tseq_put.txt  |  89 ++++++++
> >  .../libtraceevent-tseq_reset.txt              |  78 +++++++
> >  .../Documentation/libtraceevent.txt           | 198 +++++++++++++++++
> >  .../traceevent/Documentation/manpage-1.72.xsl |  14 ++
> >  .../traceevent/Documentation/manpage-base.xsl |  35 +++
> >  .../Documentation/manpage-bold-literal.xsl    |  17 ++
> >  .../Documentation/manpage-normal.xsl          |  13 ++
> >  .../Documentation/manpage-suppress-sp.xsl     |  21 ++
> >  tools/lib/traceevent/Makefile                 |  28 +++
> >  54 files changed, 4885 insertions(+)
> >  create mode 100644 tools/lib/traceevent/Documentation/Makefile
> >  create mode 100644 tools/lib/traceevent/Documentation/asciidoc.conf
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-commands.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-cpus.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-endian_read.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_find.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_list.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_print.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-events.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_find.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_get_val.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_print.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_read.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-fields.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-file_endian.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_add.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_error.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_event.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_match.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_oper.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_show.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter_trivial.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-func_find.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-func_resolve.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-handle.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-header_size.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-host_endian.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-latency_format.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-long_size.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-page_size.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-parse_event.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-parse_head.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-plugins.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-record_lat.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-record_parse.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_clock.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_event_handler.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_funcstr.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_print_func.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-set_flag.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-strerror.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq_doprint.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq_print.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq_put.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq_reset.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/libtraceevent.txt
> >  create mode 100644 tools/lib/traceevent/Documentation/manpage-1.72.xsl
> >  create mode 100644 tools/lib/traceevent/Documentation/manpage-base.xsl
> >  create mode 100644 tools/lib/traceevent/Documentation/manpage-bold-literal.xsl
> >  create mode 100644 tools/lib/traceevent/Documentation/manpage-normal.xsl
> >  create mode 100644 tools/lib/traceevent/Documentation/manpage-suppress-sp.xsl
> >
>


-- 

Tzvetomir (Ceco) Stoyanov
VMware Open Source Technology Center




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux