[libcamera-devel] [PATCH 1/2] utils: ipc: Generate tracepoints for IPA calls
paul.elder at ideasonboard.com
paul.elder at ideasonboard.com
Wed Feb 17 10:47:30 CET 2021
On Wed, Feb 17, 2021 at 06:29:36PM +0900, Paul Elder wrote:
> To ease benchmarking IPA calls, automatically generate tracepoints for
> IPA calls in the IPAProxy.
>
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> ---
> .../generators/libcamera_templates/module_ipa_proxy.cpp.tmpl | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl b/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> index ba34a361..5e0d3976 100644
> --- a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> +++ b/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> @@ -33,6 +33,7 @@
> #include "libcamera/internal/log.h"
> #include "libcamera/internal/process.h"
> #include "libcamera/internal/thread.h"
> +#include "libcamera/internal/tracepoints.h"
>
> namespace libcamera {
>
> @@ -125,6 +126,7 @@ void {{proxy_name}}::recvMessage(const IPCMessage &data)
> {% for method in interface_main.methods %}
> {{proxy_funcs.func_sig(proxy_name, method)}}
> {
> + LIBCAMERA_TRACEPOINT_IPA_BEGIN({{module_name}}, {{method.mojom_name}});
> if (isolate_)
> {{"return " if method|method_return_value != "void"}}{{method.mojom_name}}IPC(
> {%- for param in method|method_param_names -%}
> @@ -137,6 +139,7 @@ void {{proxy_name}}::recvMessage(const IPCMessage &data)
> {{param}}{{- ", " if not loop.last}}
> {%- endfor -%}
> );
> + LIBCAMERA_TRACEPOINT_IPA_END({{module_name}}, {{method.mojom_name}});
> }
While cleaining up patchwork, I came across this [1], and I wonder if
this patch would clutter traces if pipelines add custom IPA call
tracepoints for the "proper" response to an async call.
Would we be better off without auto IPA call tracepoints?
Paul
[1] https://patchwork.libcamera.org/patch/10311/
>
> {{proxy_funcs.func_sig(proxy_name, method, "Thread")}}
> --
> 2.27.0
>
More information about the libcamera-devel
mailing list