projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: mismatch of ust_app_snapshot_record prototype
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
session.h
diff --git
a/src/bin/lttng-sessiond/session.h
b/src/bin/lttng-sessiond/session.h
index 1cea52a61fc64a75169041aa7bbddee7b8180082..31a40a741aee1797a20b61f345ca96d7a62181a2 100644
(file)
--- a/
src/bin/lttng-sessiond/session.h
+++ b/
src/bin/lttng-sessiond/session.h
@@
-23,6
+23,7
@@
#include <urcu/list.h>
#include <common/hashtable/hashtable.h>
#include <urcu/list.h>
#include <common/hashtable/hashtable.h>
+#include <common/dynamic-array.h>
#include <lttng/rotation.h>
#include <lttng/location.h>
#include <lttng/lttng-error.h>
#include <lttng/rotation.h>
#include <lttng/location.h>
#include <lttng/lttng-error.h>
@@
-33,6
+34,9
@@
struct ltt_ust_session;
struct ltt_ust_session;
+typedef void (*ltt_session_destroy_notifier)(const struct ltt_session *session,
+ void *user_data);
+
/*
* Tracing session list
*
/*
* Tracing session list
*
@@
-71,7
+75,10
@@
struct ltt_session_list {
struct ltt_session {
char name[NAME_MAX];
bool has_auto_generated_name;
struct ltt_session {
char name[NAME_MAX];
bool has_auto_generated_name;
+ bool name_contains_creation_time;
char hostname[HOST_NAME_MAX]; /* Local hostname. */
char hostname[HOST_NAME_MAX]; /* Local hostname. */
+ /* Path of the last closed chunk. */
+ char last_chunk_path[LTTNG_PATH_MAX];
time_t creation_time;
struct ltt_kernel_session *kernel_session;
struct ltt_ust_session *ust_session;
time_t creation_time;
struct ltt_kernel_session *kernel_session;
struct ltt_ust_session *ust_session;
@@
-176,13
+183,17
@@
struct ltt_session {
struct lttng_trace_chunk *chunk_being_archived;
/* Current state of a rotation. */
enum lttng_rotation_state rotation_state;
struct lttng_trace_chunk *chunk_being_archived;
/* Current state of a rotation. */
enum lttng_rotation_state rotation_state;
+ bool quiet_rotation;
char *last_archived_chunk_name;
LTTNG_OPTIONAL(uint64_t) last_archived_chunk_id;
char *last_archived_chunk_name;
LTTNG_OPTIONAL(uint64_t) last_archived_chunk_id;
+ struct lttng_dynamic_array destroy_notifiers;
+ /* Session base path override. Set non-null. */
+ char *base_path;
};
/* Prototypes */
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
};
/* Prototypes */
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
- struct ltt_session **out_session);
+
const char *base_path,
struct ltt_session **out_session);
void session_lock(struct ltt_session *session);
void session_lock_list(void);
int session_trylock_list(void);
void session_lock(struct ltt_session *session);
void session_lock_list(void);
int session_trylock_list(void);
@@
-190,6
+201,8
@@
void session_unlock(struct ltt_session *session);
void session_unlock_list(void);
void session_destroy(struct ltt_session *session);
void session_unlock_list(void);
void session_destroy(struct ltt_session *session);
+int session_add_destroy_notifier(struct ltt_session *session,
+ ltt_session_destroy_notifier notifier, void *user_data);
bool session_get(struct ltt_session *session);
void session_put(struct ltt_session *session);
bool session_get(struct ltt_session *session);
void session_put(struct ltt_session *session);
@@
-202,7
+215,7
@@
void session_get_net_consumer_ports(
const struct ltt_session *session,
uint16_t *control_port, uint16_t *data_port);
struct lttng_trace_archive_location *session_get_trace_archive_location(
const struct ltt_session *session,
uint16_t *control_port, uint16_t *data_port);
struct lttng_trace_archive_location *session_get_trace_archive_location(
- struct ltt_session *session);
+
const
struct ltt_session *session);
struct ltt_session *session_find_by_name(const char *name);
struct ltt_session *session_find_by_id(uint64_t id);
struct ltt_session *session_find_by_name(const char *name);
struct ltt_session *session_find_by_id(uint64_t id);
@@
-217,7
+230,8
@@
int session_reset_rotation_state(struct ltt_session *session,
/* Create a new trace chunk object from the session's configuration. */
struct lttng_trace_chunk *session_create_new_trace_chunk(
/* Create a new trace chunk object from the session's configuration. */
struct lttng_trace_chunk *session_create_new_trace_chunk(
- struct ltt_session *session,
+ const struct ltt_session *session,
+ const struct consumer_output *consumer_output_override,
const char *session_base_path_override,
const char *chunk_name_override);
const char *session_base_path_override,
const char *chunk_name_override);
@@
-238,6
+252,10
@@
int session_set_trace_chunk(struct ltt_session *session,
* ltt_session itself.
*/
int session_close_trace_chunk(const struct ltt_session *session,
* ltt_session itself.
*/
int session_close_trace_chunk(const struct ltt_session *session,
- struct lttng_trace_chunk *trace_chunk);
+ struct lttng_trace_chunk *trace_chunk,
+ const enum lttng_trace_chunk_command_type *close_command,
+ char *path);
+
+bool session_output_supports_trace_chunks(const struct ltt_session *session);
#endif /* _LTT_SESSION_H */
#endif /* _LTT_SESSION_H */
This page took
0.026309 seconds
and
4
git commands to generate.