projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move conditions source files to src/common/conditions directory
[lttng-tools.git]
/
src
/
common
/
consumer
/
consumer.h
diff --git
a/src/common/consumer/consumer.h
b/src/common/consumer/consumer.h
index aa8a401a0416efe089057f2e07b6187c38bf78d5..b45f88b756b2032dbf90daa74e91f31ed9ffc940 100644
(file)
--- a/
src/common/consumer/consumer.h
+++ b/
src/common/consumer/consumer.h
@@
-27,6
+27,7
@@
#include <common/trace-chunk-registry.h>
#include <common/credentials.h>
#include <common/buffer-view.h>
#include <common/trace-chunk-registry.h>
#include <common/credentials.h>
#include <common/buffer-view.h>
+#include <common/dynamic-array.h>
struct lttng_consumer_local_data;
struct lttng_consumer_local_data;
@@
-64,6
+65,7
@@
enum lttng_consumer_command {
LTTNG_CONSUMER_CLOSE_TRACE_CHUNK,
LTTNG_CONSUMER_TRACE_CHUNK_EXISTS,
LTTNG_CONSUMER_CLEAR_CHANNEL,
LTTNG_CONSUMER_CLOSE_TRACE_CHUNK,
LTTNG_CONSUMER_TRACE_CHUNK_EXISTS,
LTTNG_CONSUMER_CLEAR_CHANNEL,
+ LTTNG_CONSUMER_OPEN_CHANNEL_PACKETS,
};
enum lttng_consumer_type {
};
enum lttng_consumer_type {
@@
-88,6
+90,12
@@
enum consumer_channel_type {
CONSUMER_CHANNEL_TYPE_DATA = 1,
};
CONSUMER_CHANNEL_TYPE_DATA = 1,
};
+enum sync_metadata_status {
+ SYNC_METADATA_STATUS_NEW_DATA,
+ SYNC_METADATA_STATUS_NO_DATA,
+ SYNC_METADATA_STATUS_ERROR,
+};
+
extern struct lttng_consumer_global_data consumer_data;
struct stream_list {
extern struct lttng_consumer_global_data consumer_data;
struct stream_list {
@@
-265,6
+273,14
@@
struct stream_subbuffer {
unsigned long subbuf_size;
unsigned long padded_subbuf_size;
uint64_t version;
unsigned long subbuf_size;
unsigned long padded_subbuf_size;
uint64_t version;
+ /*
+ * Left unset when unsupported.
+ *
+ * Indicates that this is the last sub-buffer of
+ * a series of sub-buffer that makes-up a coherent
+ * (parseable) unit of metadata.
+ */
+ LTTNG_OPTIONAL(bool) coherent;
} metadata;
struct {
unsigned long subbuf_size;
} metadata;
struct {
unsigned long subbuf_size;
@@
-582,6
+598,9
@@
struct lttng_consumer_stream {
*/
uint64_t rotate_position;
*/
uint64_t rotate_position;
+ /* Whether or not a packet was opened during the current trace chunk. */
+ bool opened_packet_in_current_trace_chunk;
+
/*
* Read-only copies of channel values. We cannot safely access the
* channel from a stream, so we need to have a local copy of these
/*
* Read-only copies of channel values. We cannot safely access the
* channel from a stream, so we need to have a local copy of these
@@
-618,11
+637,12
@@
struct lttng_consumer_stream {
reset_metadata_cb reset_metadata;
consume_subbuffer_cb consume_subbuffer;
put_next_subbuffer_cb put_next_subbuffer;
reset_metadata_cb reset_metadata;
consume_subbuffer_cb consume_subbuffer;
put_next_subbuffer_cb put_next_subbuffer;
-
post_consume_cb post_consume
;
+
struct lttng_dynamic_array post_consume_cbs
;
send_live_beacon_cb send_live_beacon;
on_sleep_cb on_sleep;
unlock_cb unlock;
} read_subbuffer_ops;
send_live_beacon_cb send_live_beacon;
on_sleep_cb on_sleep;
unlock_cb unlock;
} read_subbuffer_ops;
+ struct metadata_bucket *metadata_bucket;
};
/*
};
/*
@@
-954,7
+974,6
@@
struct lttng_consumer_local_data *lttng_consumer_create(
int (*update_stream)(uint64_t sessiond_key, uint32_t state));
void lttng_consumer_destroy(struct lttng_consumer_local_data *ctx);
ssize_t lttng_consumer_on_read_subbuffer_mmap(
int (*update_stream)(uint64_t sessiond_key, uint32_t state));
void lttng_consumer_destroy(struct lttng_consumer_local_data *ctx);
ssize_t lttng_consumer_on_read_subbuffer_mmap(
- struct lttng_consumer_local_data *ctx,
struct lttng_consumer_stream *stream,
const struct lttng_buffer_view *buffer,
unsigned long padding);
struct lttng_consumer_stream *stream,
const struct lttng_buffer_view *buffer,
unsigned long padding);
@@
-1031,5
+1050,7
@@
enum lttcomm_return_code lttng_consumer_init_command(
struct lttng_consumer_local_data *ctx,
const lttng_uuid sessiond_uuid);
int lttng_consumer_clear_channel(struct lttng_consumer_channel *channel);
struct lttng_consumer_local_data *ctx,
const lttng_uuid sessiond_uuid);
int lttng_consumer_clear_channel(struct lttng_consumer_channel *channel);
+enum lttcomm_return_code lttng_consumer_open_channel_packets(
+ struct lttng_consumer_channel *channel);
#endif /* LIB_CONSUMER_H */
#endif /* LIB_CONSUMER_H */
This page took
0.024282 seconds
and
4
git commands to generate.