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

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

 



Hello Tzvetomir,

On 3/8/19 4:47 PM, Tzvetomir Stoyanov wrote:
> 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.

Thank you very much, I completely missed it before, it was right there :-)

Ciao,

Claudio


>> 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
>>>
>>
> 
> 



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

  Powered by Linux