lttng-dev.lists.lttng.org archive mirror
 help / color / mirror / Atom feed
From: Philippe Proulx via lttng-dev <lttng-dev@lists.lttng.org>
To: RADERMACHER Ansgar <Ansgar.RADERMACHER@cea.fr>
Cc: "lttng-dev@lists.lttng.org" <lttng-dev@lists.lttng.org>
Subject: Re: [lttng-dev] [barectf] no nested types?
Date: Mon, 8 Feb 2021 09:58:34 -0500	[thread overview]
Message-ID: <CAB4xu_3eLXWugyeGDYBC-tKo3qGfCWWs7QFfaEyK0Lh3UiBnhg@mail.gmail.com> (raw)
In-Reply-To: <386C5D4D5C53C24CBC2C60CAAFD2136A5B4A9D26@EXDAG0-B1.intra.cea.fr>

On Mon, Feb 8, 2021 at 5:27 AM RADERMACHER Ansgar via lttng-dev
<lttng-dev@lists.lttng.org> wrote:
>
> Dear all,
>
> having thought a bit more about it, I can see now that nested types are problematic in general: some types in the language need to be mapped to types that match but are not identical, i.e. have likely a different memory layout. This would be problematic for nested types.

Exactly: compound types represent a challenge in general because we
don't know the memory layout details of the user data, so we can't just
copy bytes as is to a CTF data stream.

There are strategies to achieve such a feature in barectf and in
LTTng-UST (similar problem), but implementing and testing them is not on
the roadmap currently.

This is why both barectf and LTTng-UST support basic arrays of
simple/scalar instances (numbers and strings), but not the rest, even if
CTF itself can represent more complex data.

barectf supports nested static arrays [1], but not nested dynamic
arrays.

Hope this helps,

Phil

[1]: https://barectf.org/docs/barectf/3.0/yaml/static-array-ft-obj.html

> Thus, I'm opting for flattening data (with the exception of lists).
>
> Best regards
>
> Ansgar
>
>
> ________________________________
> From: lttng-dev [lttng-dev-bounces@lists.lttng.org] on behalf of RADERMACHER Ansgar via lttng-dev [lttng-dev@lists.lttng.org]
> Sent: Friday, February 05, 2021 22:58
> To: lttng-dev@lists.lttng.org
> Subject: [lttng-dev] [barectf] no nested types?
>
> Hello,
>
> I've generated a config.yaml from type definitions in UML. If the type of a payload field is a UML DataType, the generator produces an associated type alias file with "class = structure" and the contained members.
>
> When I tried to compile the configuration file, I get an error message from barectf:
> `field-type` property: Nested structure field types are not supported
>
> It this really not supported or are there other mechanisms that enable the use of nested types? If not supported, it would be an important restriction which seems to be not prominently documented (in [1], there is a parenthesis "except a structure field type object" but it's easy to miss)
>
> Best regards
>
> Ansgar
>
>
> [1] https://barectf.org/docs/barectf/3.0/yaml/struct-ft-obj.html
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

      reply	other threads:[~2021-02-08 14:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-05 21:58 [lttng-dev] [barectf] no nested types? RADERMACHER Ansgar via lttng-dev
2021-02-08 10:27 ` RADERMACHER Ansgar via lttng-dev
2021-02-08 14:58   ` Philippe Proulx via lttng-dev [this message]

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=CAB4xu_3eLXWugyeGDYBC-tKo3qGfCWWs7QFfaEyK0Lh3UiBnhg@mail.gmail.com \
    --to=lttng-dev@lists.lttng.org \
    --cc=Ansgar.RADERMACHER@cea.fr \
    --cc=eeppeliteloop@gmail.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;
as well as URLs for NNTP newsgroup(s).