Commit | Line | Data |
---|---|---|
b0f2e8db JG |
1 | /* |
2 | * Copyright (C) 2022 Jérémie Galarneau <jeremie.galarneau@efficios.com> | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0-only | |
5 | * | |
6 | */ | |
7 | ||
8 | #ifndef LTTNG_UST_REGISTRY_SESSION_PID_H | |
9 | #define LTTNG_UST_REGISTRY_SESSION_PID_H | |
10 | ||
11 | #include "trace-class.hpp" | |
12 | #include "ust-registry-session.hpp" | |
13 | ||
14 | #include <cstdint> | |
15 | #include <ctime> | |
16 | #include <lttng/lttng.h> | |
17 | #include <string> | |
18 | #include <unistd.h> | |
19 | ||
20 | namespace lttng { | |
21 | namespace sessiond { | |
22 | namespace ust { | |
23 | ||
24 | class registry_session_per_pid : public registry_session { | |
25 | public: | |
26 | registry_session_per_pid(const struct ust_app& app, | |
27 | const struct lttng::sessiond::trace::abi& trace_abi, | |
28 | uint32_t major, | |
29 | uint32_t minor, | |
30 | const char *root_shm_path, | |
31 | const char *shm_path, | |
32 | uid_t euid, | |
33 | gid_t egid, | |
34 | uint64_t tracing_id); | |
35 | ||
36 | virtual lttng_buffer_type get_buffering_scheme() const noexcept override final; | |
da9dd521 JG |
37 | virtual void accept(lttng::sessiond::trace::trace_class_environment_visitor& |
38 | environment_visitor) const override final; | |
b0f2e8db JG |
39 | |
40 | private: | |
b0f2e8db JG |
41 | const unsigned int _tracer_patch_level_version; |
42 | const pid_t _vpid; | |
43 | const std::string _procname; | |
44 | const std::time_t _app_creation_time; | |
45 | }; | |
46 | ||
47 | } /* namespace ust */ | |
48 | } /* namespace sessiond */ | |
49 | } /* namespace lttng */ | |
50 | ||
51 | #endif /* LTTNG_UST_REGISTRY_SESSION_PID_H */ |