From fcc6d4bd76874585336cb0bbbd369702b59515d2 Mon Sep 17 00:00:00 2001 From: Paul Elder Date: Mon, 19 Oct 2020 19:18:17 +0900 Subject: libcamera: tracing: Implement tracing infrastructure Implement tracing infrastructure in libcamera. It takes .tp files, as required by lttng, and generates a tracepoint header and C file, as lttng requires. meson is updated accordingly to get it to compile with the rest of libcamera. Update the documentation accordingly. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- src/libcamera/meson.build | 7 +++++++ src/libcamera/tracepoints.cpp | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 src/libcamera/tracepoints.cpp (limited to 'src') diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index 07711b5f..99b27e66 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -55,6 +55,7 @@ libcamera_sources = files([ ]) libcamera_sources += libcamera_public_headers +libcamera_sources += libcamera_tracepoint_header includes = [ libcamera_includes, @@ -72,6 +73,11 @@ if libgnutls.found() config_h.set('HAVE_GNUTLS', 1) endif +if liblttng.found() + config_h.set('HAVE_TRACING', 1) + libcamera_sources += files(['tracepoints.cpp']) +endif + if libudev.found() config_h.set('HAVE_LIBUDEV', 1) libcamera_sources += files([ @@ -114,6 +120,7 @@ libcamera_deps = [ libatomic, libdl, libgnutls, + liblttng, libudev, dependency('threads'), ] diff --git a/src/libcamera/tracepoints.cpp b/src/libcamera/tracepoints.cpp new file mode 100644 index 00000000..0173b75a --- /dev/null +++ b/src/libcamera/tracepoints.cpp @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2020, Google Inc. + * + * tracepoints.cpp - Tracepoints with lttng + */ +#define TRACEPOINT_CREATE_PROBES +#define TRACEPOINT_DEFINE + +#include "libcamera/internal/tracepoints.h" -- cgit v1.2.1