diff mbox series

[3/3] libtracefs: Add new API for getting synth event name WiP

Message ID 20211206150855.361202-4-y.karadz@gmail.com (mailing list archive)
State Changes Requested
Headers show
Series libtracefs: APIs for inspecting of hist and synth objects | expand

Commit Message

Yordan Karadzhov Dec. 6, 2021, 3:08 p.m. UTC
Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
---
 Documentation/libtracefs-synth2.txt |  8 ++++++--
 include/tracefs.h                   |  1 +
 src/tracefs-hist.c                  | 11 +++++++++++
 3 files changed, 18 insertions(+), 2 deletions(-)

Comments

Steven Rostedt Dec. 7, 2021, 10:04 p.m. UTC | #1
On Mon,  6 Dec 2021 17:08:55 +0200
"Yordan Karadzhov (VMware)" <y.karadz@gmail.com> wrote:

I'm guessing for the lack of change log, that this is really an RFC?

> Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
> ---
>  Documentation/libtracefs-synth2.txt |  8 ++++++--
>  include/tracefs.h                   |  1 +
>  src/tracefs-hist.c                  | 11 +++++++++++
>  3 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/libtracefs-synth2.txt b/Documentation/libtracefs-synth2.txt
> index 1cb07c8..2439a54 100644
> --- a/Documentation/libtracefs-synth2.txt
> +++ b/Documentation/libtracefs-synth2.txt
> @@ -3,8 +3,9 @@ libtracefs(3)
>  
>  NAME
>  ----
> -tracefs_synth_create, tracefs_synth_destroy, tracefs_synth_echo_cmd,tracefs_synth_complete,
> -tracefs_synth_get_start_hist,tracefs_synth_trace,tracefs_synth_snapshot - Creation of synthetic events
> +tracefs_synth_create, tracefs_synth_destroy, tracefs_synth_echo_cmd, tracefs_synth_complete,
> +tracefs_synth_get_start_hist, tracefs_synth_trace, tracefs_synth_snapshot,
> +tracefs_synth_get_name - Creation of synthetic events
>  
>  SYNOPSIS
>  --------
> @@ -25,6 +26,7 @@ int tracefs_synth_snapshot(struct tracefs_synth pass:[*]synth,
>  int tracefs_synth_save(struct tracefs_synth pass:[*]synth,
>  		       enum tracefs_synth_handler type, const char pass:[*]var,
>  		       char pass:[**]save_fields);
> +tracefs_synth_get_name(struct tracefs_synth pass:[*]synth);

Need return value.

>  --
>  
>  DESCRIPTION
> @@ -87,6 +89,8 @@ then saven the given _save_fields_ list. The fields will be stored in the histog
>  "hist" file of the event that can be retrieved with *tracefs_event_file_read*(3).
>  _var_ changes. _var_ must be one of the _name_ elements used in *tracefs_synth_add_end_field*(3).
>  
> +*tracefs_synth_get_name*() get the name of the synthetic event.

And state that the string returned belongs to the synthetic event
descriptor and lives only as long as it does. The value returned should not
be freed.


> +
>  RETURN VALUE
>  ------------
>  Returns zero on success or -1 on error.
> diff --git a/include/tracefs.h b/include/tracefs.h
> index 7c03086..804d738 100644
> --- a/include/tracefs.h
> +++ b/include/tracefs.h
> @@ -505,6 +505,7 @@ enum tracefs_synth_handler {
>  	TRACEFS_SYNTH_HANDLE_CHANGE,
>  };
>  
> +const char *tracefs_synth_get_name(struct tracefs_synth *synth);
>  struct tracefs_synth *tracefs_synth_alloc(struct tep_handle *tep,
>  					  const char *name,
>  					  const char *start_system,
> diff --git a/src/tracefs-hist.c b/src/tracefs-hist.c
> index 837d4e1..41c88d1 100644
> --- a/src/tracefs-hist.c
> +++ b/src/tracefs-hist.c
> @@ -736,6 +736,17 @@ struct tracefs_synth {
>  	int			arg_cnt;
>  };
>  
> + /*
> + * tracefs_synth_get_name - get the name of the synthetic event
> + * @synth: The synthetic event to get the name for
> + *
> + * Returns name string on succes or NULL on error.

And this needs to state its scope as well.

-- Steve

> + */
> +const char *tracefs_synth_get_name(struct tracefs_synth *synth)
> +{
> +	return synth ? synth->name : NULL;
> +}
> +
>  static void action_free(struct action *action)
>  {
>  	free(action->handle_field);
Yordan Karadzhov Dec. 8, 2021, 12:17 p.m. UTC | #2
On 8.12.21 г. 0:04 ч., Steven Rostedt wrote:
> On Mon,  6 Dec 2021 17:08:55 +0200
> "Yordan Karadzhov (VMware)"<y.karadz@gmail.com>  wrote:
> 
> I'm guessing for the lack of change log, that this is really an RFC?

This patch-set is a disaster :( Sorry about that!

The name of this patch (WiP) makes me think that I screwed up the 'git send-mail' command and somehow sent you an old 
version of the patches. Any way, a lot of the mistakes you pointed out are present also in the version that was supposed 
to be sent. I will try to do better with v2.

Thanks a lot!
Yordan
diff mbox series

Patch

diff --git a/Documentation/libtracefs-synth2.txt b/Documentation/libtracefs-synth2.txt
index 1cb07c8..2439a54 100644
--- a/Documentation/libtracefs-synth2.txt
+++ b/Documentation/libtracefs-synth2.txt
@@ -3,8 +3,9 @@  libtracefs(3)
 
 NAME
 ----
-tracefs_synth_create, tracefs_synth_destroy, tracefs_synth_echo_cmd,tracefs_synth_complete,
-tracefs_synth_get_start_hist,tracefs_synth_trace,tracefs_synth_snapshot - Creation of synthetic events
+tracefs_synth_create, tracefs_synth_destroy, tracefs_synth_echo_cmd, tracefs_synth_complete,
+tracefs_synth_get_start_hist, tracefs_synth_trace, tracefs_synth_snapshot,
+tracefs_synth_get_name - Creation of synthetic events
 
 SYNOPSIS
 --------
@@ -25,6 +26,7 @@  int tracefs_synth_snapshot(struct tracefs_synth pass:[*]synth,
 int tracefs_synth_save(struct tracefs_synth pass:[*]synth,
 		       enum tracefs_synth_handler type, const char pass:[*]var,
 		       char pass:[**]save_fields);
+tracefs_synth_get_name(struct tracefs_synth pass:[*]synth);
 --
 
 DESCRIPTION
@@ -87,6 +89,8 @@  then saven the given _save_fields_ list. The fields will be stored in the histog
 "hist" file of the event that can be retrieved with *tracefs_event_file_read*(3).
 _var_ changes. _var_ must be one of the _name_ elements used in *tracefs_synth_add_end_field*(3).
 
+*tracefs_synth_get_name*() get the name of the synthetic event.
+
 RETURN VALUE
 ------------
 Returns zero on success or -1 on error.
diff --git a/include/tracefs.h b/include/tracefs.h
index 7c03086..804d738 100644
--- a/include/tracefs.h
+++ b/include/tracefs.h
@@ -505,6 +505,7 @@  enum tracefs_synth_handler {
 	TRACEFS_SYNTH_HANDLE_CHANGE,
 };
 
+const char *tracefs_synth_get_name(struct tracefs_synth *synth);
 struct tracefs_synth *tracefs_synth_alloc(struct tep_handle *tep,
 					  const char *name,
 					  const char *start_system,
diff --git a/src/tracefs-hist.c b/src/tracefs-hist.c
index 837d4e1..41c88d1 100644
--- a/src/tracefs-hist.c
+++ b/src/tracefs-hist.c
@@ -736,6 +736,17 @@  struct tracefs_synth {
 	int			arg_cnt;
 };
 
+ /*
+ * tracefs_synth_get_name - get the name of the synthetic event
+ * @synth: The synthetic event to get the name for
+ *
+ * Returns name string on succes or NULL on error.
+ */
+const char *tracefs_synth_get_name(struct tracefs_synth *synth)
+{
+	return synth ? synth->name : NULL;
+}
+
 static void action_free(struct action *action)
 {
 	free(action->handle_field);