Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: ylamarre@efficios.com (Yannick Lamarre)
Subject: [lttng-dev] [RFC PATCH lttng-tools 00/18] Improvements in sessiond-comm
Date: Thu, 18 Apr 2019 12:18:32 -0400	[thread overview]
Message-ID: <20190418161850.1536-1-ylamarre@efficios.com> (raw)

This patch introduces serialized communication between lttng-ctl,
lttng-sessiond and consumerd. It builds on [1] as a style guide while patching
it to accomodate changes in the code since 2014. Each new group of serialized 
structs is introduced in three patches. The first defines the serialized
struct, the second adds the required functions to serialize and deserialize
the structures and the third modifies lttng-ctl and lttng-sessiond to use the
serialized structures in communication.

This patch also cleans up the various structs defining communication protocols
by changing field with an enum type to uint32_t. This is to better guarantee
the struct's size.

Considering that a few functions are not used in the code base, a unit test is
to be introduced to cover those functions.

[1] https://github.com/jgalar/lttng-tools/commit/ab64247103355a5af0634e5fde499b9f465baadc

J?r?mie Galarneau (1):
  Fix: Use platform-independant types in sessiond to consumerd
    communication

Yannick Lamarre (17):
  Clean-up: Switch enum fields in lttcomm_consumer_msg
  Clean-up: Switch enum fields in lttcomm_consumer_status_msg
  Clean-up: Switch enum fields in lttcomm_consumer_status_channel
  Clean-up: Remove unused structure
  Clean-up: Removed deprecated field
  Add serialized versions of lttng_channel structs
  Add serdes functions for lttng_channel
  Integrate serialized communication in lttng-ctl and sessiond
  Add serialized versions of lttng_event_context structs
  Add serdes functions for lttng_event_context
  Integrate serialized communication in lttng-ctl and sessiond
  Add serialized versions of lttng_event structs
  Add serdes functions for lttng_event_context
  Integrate serialized communication in lttng-ctl and sessiond
  Add serialized versions of lttng_event structs
  Add serdes functions for lttng_snapshot_output
  Integrate serialized communication in lttng-ctl and sessiond

 include/lttng/channel-internal.h             |  35 ++
 include/lttng/event-internal.h               |  59 ++++
 include/lttng/snapshot-internal.h            |  11 +
 src/bin/lttng-sessiond/client.c              |  75 ++++-
 src/bin/lttng-sessiond/consumer.c            |   5 +-
 src/common/kernel-consumer/kernel-consumer.c |  11 +-
 src/common/sessiond-comm/sessiond-comm.c     | 477 +++++++++++++++++++++++++++
 src/common/sessiond-comm/sessiond-comm.h     | 150 +++++++--
 src/common/ust-consumer/ust-consumer.c       |  11 +-
 src/lib/lttng-ctl/lttng-ctl.c                |  50 +--
 src/lib/lttng-ctl/snapshot.c                 |  24 +-
 tests/regression/tools/live/Makefile.am      |   2 +-
 tests/unit/Makefile.am                       |   6 +-
 13 files changed, 819 insertions(+), 97 deletions(-)

-- 
2.11.0



             reply	other threads:[~2019-04-18 16:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-18 16:18 Yannick Lamarre [this message]
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 01/18] Fix: Use platform-independant types in sessiond to consumerd communication Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 02/18] Clean-up: Switch enum fields in lttcomm_consumer_msg Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 03/18] Clean-up: Switch enum fields in lttcomm_consumer_status_msg Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 04/18] Clean-up: Switch enum fields in lttcomm_consumer_status_channel Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 05/18] Clean-up: Remove unused structure Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 06/18] Clean-up: Removed deprecated field Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 07/18] Add serialized versions of lttng_channel structs Yannick Lamarre
2019-04-18 19:38   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 08/18] Add serdes functions for lttng_channel Yannick Lamarre
2019-04-18 19:32   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 09/18] Integrate serialized communication in lttng-ctl and sessiond Yannick Lamarre
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 10/18] Add serialized versions of lttng_event_context structs Yannick Lamarre
2019-04-18 19:41   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 11/18] Add serdes functions for lttng_event_context Yannick Lamarre
2019-04-18 19:42   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 12/18] Integrate serialized communication in lttng-ctl and sessiond Yannick Lamarre
2019-04-18 19:44   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 13/18] Add serialized versions of lttng_event structs Yannick Lamarre
2019-04-18 19:45   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 14/18] Add serdes functions for lttng_event_context Yannick Lamarre
2019-04-18 19:46   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 15/18] Integrate serialized communication in lttng-ctl and sessiond Yannick Lamarre
2019-04-18 19:49   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 16/18] Add serialized versions of lttng_event structs Yannick Lamarre
2019-04-18 19:50   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 17/18] Add serdes functions for lttng_snapshot_output Yannick Lamarre
2019-04-18 19:52   ` Mathieu Desnoyers
2019-04-18 16:18 ` [lttng-dev] [RFC PATCH lttng-tools 18/18] Integrate serialized communication in lttng-ctl and sessiond Yannick Lamarre
2019-04-18 19:58   ` Mathieu Desnoyers

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=20190418161850.1536-1-ylamarre@efficios.com \
    --to=ylamarre@efficios.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox