From: Ira Weiny <ira.weiny@intel.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: Steven Rostedt <rostedt@goodmis.org>, <linux-cxl@vger.kernel.org>,
<dan.j.williams@intel.com>, <vishal.l.verma@intel.com>,
<alison.schofield@intel.com>
Subject: Re: [PATCH v3 01/10] cxl: add helper function to parse trace event to json object
Date: Fri, 4 Nov 2022 11:56:46 -0700 [thread overview]
Message-ID: <Y2Vgbl/5Gudpa4bP@iweiny-desk3> (raw)
In-Reply-To: <27786f64-b35a-ef82-0e93-55ee608f64ca@intel.com>
On Thu, Nov 03, 2022 at 09:15:03AM -0700, Jiang, Dave wrote:
>
>
> On 11/2/2022 10:48 PM, Steven Rostedt wrote:
> > On Wed, 02 Nov 2022 14:20:09 -0700
> > Dave Jiang <dave.jiang@intel.com> wrote:
> >
> > > Add the helper function that parses a trace event captured by
> > > libtraceevent in a tep handle. All the parsed fields are added to a json
> > > object. The json object is added to the provided list in the input parameter.
> > >
> > > Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> > > ---
> > > cxl/event_trace.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> > > cxl/event_trace.h | 14 ++++
[snip]
> > > + } else { /* single number */
> > > + unsigned char *data;
> > > +
> > > + data = tep_get_field_raw(NULL, event, f->name, record, &len, 0);
> > > + if (!data)
> > > + continue;
> > > +
> > > + /* check to see if we have a UUID */
> > > + tmp = strcasestr(f->type, "uuid_t");
> >
> > I didn't even know event fields for uuid existed.
>
> Ira figured out that you can you can use __field_struct() to accommodate
> uuid_t. Here's what he changed below:
I guess this is a hack. I looked into creating a new entry specifier and saw
that __field_struct did what I needed.
It all seems to work fine until Alison pointed out this morning that trace-cmd
can't seem to parse this.
:-/
So now I'm not sure what is technically correct. I've never used trace-cmd
before and this all works fine on the cmd line and with this monitor command.
Is this messing up trace-cmd?
Ira
>
> diff --git a/include/trace/events/cxl.h b/include/trace/events/cxl.h
> index 6777a1119e68..22fcd677b6d0 100644
> --- a/include/trace/events/cxl.h
> +++ b/include/trace/events/cxl.h
> @@ -68,7 +68,7 @@ TRACE_EVENT(cxl_overflow,
> #define CXL_EVT_TP_entry \
> __string(dev_name, dev_name) \
> __field(int, log) \
> - __array(u8, hdr_uuid, UUID_SIZE) \
> + __field_struct(uuid_t, hdr_uuid) \
> __field(u32, hdr_flags) \
> __field(u16, hdr_handle) \
> __field(u16, hdr_related_handle) \
> @@ -79,7 +79,7 @@ TRACE_EVENT(cxl_overflow,
> #define CXL_EVT_TP_fast_assign(dname, l, hdr) \
> __assign_str(dev_name, (dname)); \
> __entry->log = (l); \
> - memcpy(__entry->hdr_uuid, &(hdr).id, UUID_SIZE); \
> + memcpy(&__entry->hdr_uuid, &(hdr).id, sizeof(uuid_t)); \
> __entry->hdr_length = (hdr).length; \
> __entry->hdr_flags = get_unaligned_le24((hdr).flags); \
> __entry->hdr_handle = le16_to_cpu((hdr).handle); \
> @@ -93,7 +93,7 @@ TRACE_EVENT(cxl_overflow,
> "handle=%x related_handle=%x maint_op_class=%u" \
> " : " fmt, \
> __get_str(dev_name),cxl_event_log_type_str(__entry->log), \
> - __entry->hdr_timestamp, __entry->hdr_uuid,
> __entry->hdr_length, \
> + __entry->hdr_timestamp, &__entry->hdr_uuid,
> __entry->hdr_length, \
> show_hdr_flags(__entry->hdr_flags), __entry->hdr_handle,
> \
> __entry->hdr_related_handle, __entry->hdr_maint_op_class,
> \
> ##__VA_ARGS__)
>
next prev parent reply other threads:[~2022-11-04 18:57 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-02 21:20 [PATCH v3 00/10] cxl: add monitor support for trace events Dave Jiang
2022-11-02 21:20 ` [PATCH v3 01/10] cxl: add helper function to parse trace event to json object Dave Jiang
2022-11-03 5:48 ` Steven Rostedt
2022-11-03 16:15 ` Dave Jiang
2022-11-04 18:56 ` Ira Weiny [this message]
2022-11-14 17:32 ` Steven Rostedt
2022-11-14 20:44 ` Alison Schofield
2022-11-14 20:53 ` Steven Rostedt
2022-11-02 21:20 ` [PATCH v3 02/10] cxl: add helper to parse through all current events Dave Jiang
2022-11-02 21:20 ` [PATCH v3 03/10] cxl: add common function to enable event trace Dave Jiang
2022-11-03 6:00 ` Steven Rostedt
2022-11-03 16:21 ` Dave Jiang
2022-11-02 21:20 ` [PATCH v3 04/10] cxl: add common function to disable " Dave Jiang
2022-11-03 6:02 ` Steven Rostedt
2022-11-03 16:30 ` Dave Jiang
2022-11-02 21:20 ` [PATCH v3 05/10] cxl: add monitor function for event trace events Dave Jiang
2022-11-03 6:06 ` Steven Rostedt
2022-11-03 16:34 ` Dave Jiang
2022-11-02 21:20 ` [PATCH v3 06/10] cxl: add logging functions for monitor Dave Jiang
2022-11-02 21:20 ` [PATCH v3 07/10] cxl: add monitor command to cxl Dave Jiang
2022-11-02 21:20 ` [PATCH v3 08/10] cxl: add an optional pid check to event parsing Dave Jiang
2022-11-03 6:08 ` Steven Rostedt
2022-11-03 15:57 ` Alison Schofield
2022-11-02 21:20 ` [PATCH v3 09/10] cxl: add systemd service for monitor Dave Jiang
2022-11-02 21:21 ` [PATCH v3 10/10] cxl: add man page documentation " Dave Jiang
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=Y2Vgbl/5Gudpa4bP@iweiny-desk3 \
--to=ira.weiny@intel.com \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=vishal.l.verma@intel.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