All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
To: rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org
Subject: [POC PATCH 00/10] Add trace file compression
Date: Thu, 22 Apr 2021 10:38:52 +0300	[thread overview]
Message-ID: <20210422073902.484953-1-tz.stoyanov@gmail.com> (raw)

A new PoC implementation for adding a compression to trace file version 7.
A basic infrastructure for compression support is added into the trace-cmd
library. The zlib is used for compression, but more libraries and algorithms
can be added. Only part of the trace file metadata is compressed: 
 - ftrace events format
 - format of recorded events
 - information about the mapping of function addresses to the function names
 - trace_printk() format strings
 - information of the mapping a PID to a process name

Note: not all trace-cmd commands are tested with these changes. These are
verified to work with compressed trace files:
 trace-cmd record
 trace-cmd report
 trace-cmd dump

Todo list, in order to have complete trace file compression:
 - Compress trace file options.
 - Compress trace data.
 - Add support for more compression libraries.
 - Add new trace-cmd command to convert trace files from version 6 to
   version 7 and vise versa.
 - Add compression support to all trace-cmd commands.
 - Update trace-cmd documentation.

This patch set depends on "[PATCH 0/6] Bump trace file version"
and should be applied on top of it.
https://lore.kernel.org/linux-trace-devel/20210422071718.483383-1-tz.stoyanov@gmail.com/

Tzvetomir Stoyanov (VMware) (10):
  trace-cmd: Add APIs for library initialization and free
  trace-cmd library: Add support for compression algorithms
  trace-cmd library: Compress part of the trace file
  trace-cmd library: Read compressed trace file
  trace-cmd library: Add new API to get compression of input handler
  trace-cmd library: Inherit compression algorithm from input file
  trace-cmd library: Extend the create file APIs to support different
    compression
  trace-cmd record: Add new parameter --compression
  trace-cmd dump: Add support for trace files version 7
  trace-cmd library: Add support for zlib compression library

 lib/trace-cmd/Makefile                        |  11 +
 .../include/private/trace-cmd-private.h       |  42 ++-
 lib/trace-cmd/include/trace-cmd-local.h       |   7 +
 lib/trace-cmd/trace-compress-zlib.c           | 172 ++++++++++
 lib/trace-cmd/trace-compress.c                | 289 +++++++++++++++++
 lib/trace-cmd/trace-input.c                   | 304 +++++++++++++-----
 lib/trace-cmd/trace-output.c                  | 268 ++++++++++++---
 lib/trace-cmd/trace-util.c                    |  12 +
 tracecmd/trace-cmd.c                          |  11 +-
 tracecmd/trace-dump.c                         | 164 ++++++++--
 tracecmd/trace-record.c                       |  18 +-
 tracecmd/trace-restore.c                      |   4 +-
 tracecmd/trace-usage.c                        |   1 +
 13 files changed, 1152 insertions(+), 151 deletions(-)
 create mode 100644 lib/trace-cmd/trace-compress-zlib.c
 create mode 100644 lib/trace-cmd/trace-compress.c

-- 
2.30.2


             reply	other threads:[~2021-04-22  7:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-22  7:38 Tzvetomir Stoyanov (VMware) [this message]
2021-04-22  7:38 ` [PATCH 01/10] trace-cmd: Add APIs for library initialization and free Tzvetomir Stoyanov (VMware)
2021-04-22  7:38 ` [PATCH 02/10] trace-cmd library: Add support for compression algorithms Tzvetomir Stoyanov (VMware)
2021-04-22  7:38 ` [PATCH 03/10] trace-cmd library: Compress part of the trace file Tzvetomir Stoyanov (VMware)
2021-04-22  7:38 ` [PATCH 04/10] trace-cmd library: Read compressed " Tzvetomir Stoyanov (VMware)
2021-04-22  7:38 ` [PATCH 05/10] trace-cmd library: Add new API to get compression of input handler Tzvetomir Stoyanov (VMware)
2021-04-22  7:38 ` [PATCH 06/10] trace-cmd library: Inherit compression algorithm from input file Tzvetomir Stoyanov (VMware)
2021-04-22  7:38 ` [PATCH 07/10] trace-cmd library: Extend the create file APIs to support different compression Tzvetomir Stoyanov (VMware)
2021-04-22  7:39 ` [PATCH 08/10] trace-cmd record: Add new parameter --compression Tzvetomir Stoyanov (VMware)
2021-04-22  7:39 ` [PATCH 09/10] trace-cmd dump: Add support for trace files version 7 Tzvetomir Stoyanov (VMware)
2021-04-22  7:39 ` [PATCH 10/10] trace-cmd library: Add support for zlib compression library Tzvetomir Stoyanov (VMware)
2021-04-29  1:35 ` [POC PATCH 00/10] Add trace file compression Steven Rostedt
2021-04-29  3:51   ` Tzvetomir Stoyanov
2021-04-29 13:20     ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210422073902.484953-1-tz.stoyanov@gmail.com \
    --to=tz.stoyanov@gmail.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.