linux-trace-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] libtracefs 1.3
@ 2022-02-23 23:39 Steven Rostedt
  2022-02-24  0:09 ` Steven Rostedt
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2022-02-23 23:39 UTC (permalink / raw)
  To: LKML, linux-trace-devel, Linux-trace Users, Daniel Bristot de Oliveira
  Cc: Zamir SUN, Arnaldo Carvalho de Melo, Jiri Olsa, zsun,
	Vitaly Chikunov, Tzvetomir Stoyanov, Yordan Karadzhov,
	Ben Hutchings, Sudip Mukherjee, Tony Jones, John Kacur,
	Clark Williams, Al Stone, Mauro Carvalho Chehab, Jes Sorensen

Long over due, but libtracefs 1.3 has finally been released!

With 90 new interfaces, it makes accessing tracefs much simpler.

Official release notes:

libtracefs 1.3

Critical:
 - Optimized string list handling. It was always stated that some string
   lists must be freed with tracefs_list_free(), and now it is mandatory, as
   metadata is used to store the size, and normal freeing of the list will
   cause memory issues.

Fixes:
 - More consistency with errno values

Notes:
 - sqlhist is now officially built
 - make samples creates executables in bin/ from examples in the man pages.

New methods:

 - New methods for setting and reading affinity
    tracefs_instance_set_affinity_set()
    tracefs_instance_set_affinity_raw()
    tracefs_instance_set_affinity()
    tracefs_instance_get_affinity()
    tracefs_instance_get_affinity_raw()
    tracefs_instance_get_affinity_set()

 - New method to see the system tracers
    tracefs_instances()

 - New methods to read and clear the error log
    tracefs_error_last()
    tracefs_error_all()
    tracefs_error_clear()

 - New methods to modify the string lists
    tracefs_list_add()
    tracefs_list_size()

 - New method to stop the iterator over raw events
    tracefs_iterate_stop()

 - New methods to make it easier to access event files
    tracefs_event_get_file()
    tracefs_event_file_read()
    tracefs_event_file_write()
    tracefs_event_file_append()
    tracefs_event_file_clear()
    tracefs_event_file_exists()

 - New method to get the available filter functions
    tracefs_filter_functions()

 - New methods to enable or disable tracers
    tracefs_tracer_set()
    tracefs_tracer_clear()

 - New methods for streaming the trace_pipe file
    tracefs_trace_pipe_stream()
    tracefs_trace_pipe_print()
    tracefs_trace_pipe_stop()

 - New methods for creating, modifying and destroying dynamic events
    tracefs_dynevent_create()
    tracefs_dynevent_destroy()
    tracefs_dynevent_destroy_all()
    tracefs_dynevent_free()
    tracefs_dynevent_list_free()
    tracefs_dynevent_get_all()
    tracefs_dynevent_get()
    tracefs_dynevent_info()
    tracefs_dynevent_get_event()

 - New method to create an event probe (then use dynamic methods above)
    tracefs_eprobe_alloc()

 - New methods to create kprobes and kretprobes
    tracefs_kprobe_alloc()
    tracefs_kretprobe_alloc()
    tracefs_kprobe_raw()
    tracefs_kretprobe_raw()

 - New methods for creating, modifying and destroying histograms
    tracefs_hist_free()
    tracefs_hist_alloc()
    tracefs_hist_alloc_2d()
    tracefs_hist_alloc_nd()
    tracefs_hist_get_name()
    tracefs_hist_get_event()
    tracefs_hist_get_system()
    tracefs_hist_add_key()
    tracefs_hist_add_value()
    tracefs_hist_add_sort_key()
    tracefs_hist_set_sort_key()
    tracefs_hist_sort_key_direction()
    tracefs_hist_add_name()
    tracefs_hist_append_filter()
    tracefs_hist_echo_cmd()
    tracefs_hist_command()
    tracefs_hist_start()
    tracefs_hist_pause()
    tracefs_hist_continue()
    tracefs_hist_reset()
    tracefs_hist_destroy()

 - New methods for creating, modifying and destroying synthetic events
    tracefs_synth_get_name()
    tracefs_synth *tracefs_synth_alloc()
    tracefs_synth_add_match_field()
    tracefs_synth_add_compare_field()
    tracefs_synth_add_start_field()
    tracefs_synth_add_end_field()
    tracefs_synth_append_start_filter()
    tracefs_synth_append_end_filter()
    tracefs_synth_trace()
    tracefs_synth_snapshot()
    tracefs_synth_save()
    tracefs_synth_complete()
    tracefs_synth_get_start_hist()
    tracefs_synth_create()
    tracefs_synth_destroy()
    tracefs_synth_free()
    tracefs_synth_echo_cmd()
    tracefs_synth_raw_fmt()
    tracefs_synth_show_event()
    tracefs_synth_show_start_hist()
    tracefs_synth_show_end_hist()
    tracefs_synth_get_event()

 - New methods to modify event filters
    tracefs_filter_string_append()
    tracefs_filter_string_verify()
    tracefs_event_filter_apply()
    tracefs_event_filter_clear()
    tracefs_event_append_filter()
    tracefs_event_verify_filter()

 - New method to create a synthetic event via a SQL string
    tracefs_sql()
    The man page comes with its own program (sqlhist).

Enjoy!

-- Steve


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-02-24  0:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-23 23:39 [ANNOUNCE] libtracefs 1.3 Steven Rostedt
2022-02-24  0:09 ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).