linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ANNOUNCE] libtracefs 1.1.0
@ 2021-04-10 13:40 Steven Rostedt
  2021-05-18 14:23 ` [ANNOUNCE] KernelShark 2.0 Yordan Karadzhov
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2021-04-10 13:40 UTC (permalink / raw)
  To: LKML, linux-trace-devel, Linux-trace Users
  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

I'm pleased to announce the new version of libtracefs library has been
released:

  libtracefs: 1.1.0


 https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/libtracefs-1.1.0.tar.gz
 https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/


Changes since 1.0.2:

 - Depends on libtraceevent 1.2.0 or later

 - New APIs for opening and reading ftrace files
    tracefs_instance_file_read_number()
    tracefs_instance_file_open()

 - New APIs for enable / disable tracing
    tracefs_trace_is_on()
    tracefs_trace_on()
    tracefs_trace_off()
    tracefs_trace_on_get_fd()
    tracefs_trace_on_fd()
    tracefs_trace_off_fd()

 - New APIs for trace options
    tracefs_option_set()
    tracefs_option_clear()
    tracefs_option_is_set()
    tracefs_options_get_supported()
    tracefs_option_is_supported()
    tracefs_options_get_enabled()
    tracefs_option_is_enabled()
    tracefs_option_enable()
    tracefs_option_diasble()
    tracefs_option_name()
    tracefs_option_id()
    tarcefs_option_mask_is_set()

 - New APIs for getting existing trace instance
    tracefs_instance_alloc()
    tracefs_instance_get_trace_dir()

 - New APIs to set the filtering of functions
    tracefs_function_filter()
    tracefs_function_notrace()

 - New APIs to writing strings into the tracing buffer
    tracefs_print_init()
    tracefs_printf()
    tracefs_vprintf()
    tracefs_print_close()

 - New APIs to writing binary data into the tracing buffer
    tracefs_binary_init()
    tracefs_binary_write()
    tracefs_binary_close()

 - tracefs_iterate_raw_events() now calls the callbacks in
   time stamp sorted order (instead of calling all events in
   a CPU buffer, then the next CPU buffer). Also fixed record->cpu
   to match the CPU that's also passed to the callback, instead
   of always being zero.

 - Loading of events with tracefs_local_events(),
   tracefs_local_event_system() and tracefs_fill_local_events()
   now pull in kallsyms, saved_cmdlines, and printk_format mappings
   into the tep handler.

 - New API to reload the saved_cmdlines
    tracefs_load_cmdlines()

 - Warnings now can be overwritten with tracefs_warning() and no
   longer the too generic name warning()

 - All files opened in the library now are done so with O_CLOEXEC

 - Cleaner building and installation.


-- Steve

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

* [ANNOUNCE] KernelShark 2.0
  2021-04-10 13:40 [ANNOUNCE] libtracefs 1.1.0 Steven Rostedt
@ 2021-05-18 14:23 ` Yordan Karadzhov
  0 siblings, 0 replies; 2+ messages in thread
From: Yordan Karadzhov @ 2021-05-18 14:23 UTC (permalink / raw)
  To: LKML, linux-trace-devel, Linux-trace Users

I am pleased to announce the new version of KernelShark has been released:

KernelShark 2.0

https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git/snapshot/kernel-shark-kernelshark-v2.0.tar.gz

https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git/

Major changes since 1.3:
- Introduces Data streams:
   With the help of Data stream, KernelShark is able to load and
   merge multiple trace files (streams). Each stream can have
   different plugins or filters, registered for it, which means that
   the raw trace data of the streams can have different formats, and
   will allow for a great degree of customization of the provided
   data visualization.

- New design of the plugin interface - instead of having a single
   interface for loading the plugin, we now have 3 different
   interfaces:
   - The one that exists in version 1 of KernelShark is now renamed
     to Data Processing Interface (dpi).

   - The first new interface for loading can be used to register
     user provided implementation of the Data stream readout and is
     called Data Readout Interface (dri). Via this plugin loading
     interface the user can open trace data having an arbitrary
     format. In order to make this possible the user has to provide
     a plugin that contains an implementation of the data readout
     methods defined by the Data stream and to register all those
     methods.

   - The second new plugin loading interface is called Control
     interface and can be used to provide the plugin with an access
     to the GUI's Main window object. Via this interface the plugin
     can became capable to modify the GUI.

- The modification of the C API are used to implement 3 new
   plugins:
   - KVMCombo plugin: The plugin allows the user to visualize
     the execution flow between the host and guest virtual machines.
     It exploits the concepts of "Data streams " and "Combo Plots"
     That allows to have two normal graphs from two data streams
     stacked together (on top of each other). The plugin uses a
     "combo" between the task in the host that emulates a virtual
     CPU and the corresponding CPU graph from the VM. The plugin
     draws additional graphical elements on top of this "combo",
     helping the user to intuitively interpret the data and see how
     the execution flow goes from host to guest and back.

   - LatencyPlot plugin: The plugin allows the user to visualize
     the latency between two events under the condition that the
     values of given data fields in the two events are identical
     (for example having the same PID). The plugin also registers
     its own dialog, that allows the user to select the events
     (and the matching field) to be visualized.

   - EventFieldPlot plugin: The plugin allows the user to visualize
     the recorded value of a given data field from a given trace
     event. The user can select the event and field to be visualized.


Yordan

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

end of thread, other threads:[~2021-05-18 14:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-10 13:40 [ANNOUNCE] libtracefs 1.1.0 Steven Rostedt
2021-05-18 14:23 ` [ANNOUNCE] KernelShark 2.0 Yordan Karadzhov

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