tag name | kernelshark-v2.0 (41fec184c947e60909994a330bac082045ae2fc1) |
tag date | 2021-05-18 16:57:11 +0300 |
tagged by | Yordan Karadzhov (VMware) <y.karadz@gmail.com> |
tagged object | commit c66c988347... |
download | kernel-shark-kernelshark-v2.0.tar.gz |
---|
KernelShark 2.0
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 kshark_data_stream_interface 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.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE1qbMujH4tlXSbo7eeMNsrCnlQRkFAmCjx84ACgkQeMNsrCnl
QRmsXg//btsqSs+S3lvnsSLnQsC2u9ta91EmsGtKbikHMwQ7x7Agy3rgo7YwXsVL
iQzOU7yB4H6LWknfndbnohPg3CzbOp99QFRXGD7eF+2Q6mHNTLiyxuUg4pQbSn7Q
B7MAQSZMfj7ixmGUmIhob0DBVhfqiWkioRBO7OT0N2TkQydSYiqsK1QAsjs7iKXv
YAIlUUgrv6LoYcZRq0RToNC3KV13J8kcC2ZbVGUX78uSvj6FXiGn7x6iWXUxQl+B
PQfYb2CB0mEhf+jv775UKqnHEyoY9Htf1CRHj50gnpXwYn2AodAsYt/dWCaES8k0
HZcCJ3n9AWaWt0pa9mRz5I8mIGzRu69sMmK+I4oSQ44nHe7Qc3i5uS9wkBvQyflx
X9MrEIeX9rVEkKILJxufkxACQzz602jBlYzGsGnLdSXSNVo3GmPy6bXPrGKwmm4Z
5zLAZt4oPX+E9KGXnUY8m2aWP4ZUjl87yheYD5u758o3rEHCj4qqDcsEPc37hU/T
8aNbvtkVNDnO8kXlQOeOJzjvkmgLvoc1tDtT7ccl+7EnjUGEMLcwvi/GM0ERRfwR
uOrHAR9pibavABsckHDUlmyod6QRDjl8qLZQloktWJQwSeABsqoFDNNy4Xx2h7+S
KWowC/u4Vp7oLlQxIH0c6Rkwe4ONWpIb08N+W4nb6H4bmka/hG0=
=lSvB
-----END PGP SIGNATURE-----