X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fust-consumer%2Fust-consumer.h;h=b0e1c7d0f847728b18f3f76ab8a3170a541302ab;hb=02d02e31d47c091a38154c9c188c08387902d97b;hp=bf005c30d372661d43d62ad103a575e1419a0f83;hpb=94d4914075c61cd1ee2ec00d8b61eacff105fc47;p=lttng-tools.git diff --git a/src/common/ust-consumer/ust-consumer.h b/src/common/ust-consumer/ust-consumer.h index bf005c30d..b0e1c7d0f 100644 --- a/src/common/ust-consumer/ust-consumer.h +++ b/src/common/ust-consumer/ust-consumer.h @@ -19,14 +19,16 @@ #ifndef _LTTNG_USTCONSUMER_H #define _LTTNG_USTCONSUMER_H -#include #include -#include +#include +#include #ifdef HAVE_LIBLTTNG_UST_CTL int lttng_ustconsumer_take_snapshot(struct lttng_consumer_stream *stream); +int lttng_ustconsumer_sample_snapshot_positions( + struct lttng_consumer_stream *stream); int lttng_ustconsumer_get_produced_snapshot( struct lttng_consumer_stream *stream, unsigned long *pos); @@ -38,11 +40,12 @@ int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, extern int lttng_ustconsumer_allocate_channel(struct lttng_consumer_channel *chan); extern void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan); +extern void lttng_ustconsumer_free_channel(struct lttng_consumer_channel *chan); extern int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream); extern void lttng_ustconsumer_del_stream(struct lttng_consumer_stream *stream); int lttng_ustconsumer_read_subbuffer(struct lttng_consumer_stream *stream, - struct lttng_consumer_local_data *ctx); + struct lttng_consumer_local_data *ctx, bool *rotated); int lttng_ustconsumer_on_recv_stream(struct lttng_consumer_stream *stream); void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream); @@ -50,16 +53,27 @@ void lttng_ustconsumer_on_stream_hangup(struct lttng_consumer_stream *stream); int lttng_ustctl_get_mmap_read_offset(struct lttng_consumer_stream *stream, unsigned long *off); void *lttng_ustctl_get_mmap_base(struct lttng_consumer_stream *stream); +void lttng_ustctl_flush_buffer(struct lttng_consumer_stream *stream, + int producer_active); +int lttng_ustconsumer_get_stream_id(struct lttng_consumer_stream *stream, + uint64_t *stream_id); int lttng_ustconsumer_data_pending(struct lttng_consumer_stream *stream); -void lttng_ustconsumer_close_metadata(struct lttng_ht *ht); +void lttng_ustconsumer_close_all_metadata(struct lttng_ht *ht); +void lttng_ustconsumer_close_metadata(struct lttng_consumer_channel *metadata); void lttng_ustconsumer_close_stream_wakeup(struct lttng_consumer_stream *stream); int lttng_ustconsumer_recv_metadata(int sock, uint64_t key, uint64_t offset, - uint64_t len, struct lttng_consumer_channel *channel, - int timer, int wait); + uint64_t len, uint64_t version, + struct lttng_consumer_channel *channel, int timer, int wait); int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, struct lttng_consumer_channel *channel, int timer, int wait); int lttng_ustconsumer_sync_metadata(struct lttng_consumer_local_data *ctx, struct lttng_consumer_stream *metadata); +void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, + int producer); +int lttng_ustconsumer_get_current_timestamp( + struct lttng_consumer_stream *stream, uint64_t *ts); +int lttng_ustconsumer_get_sequence_number( + struct lttng_consumer_stream *stream, uint64_t *seq); #else /* HAVE_LIBLTTNG_UST_CTL */ @@ -87,6 +101,13 @@ int lttng_ustconsumer_take_snapshot(struct lttng_consumer_stream *stream) return -ENOSYS; } +static inline +int lttng_ustconsumer_sample_snapshot_positions( + struct lttng_consumer_stream *stream) +{ + return -ENOSYS; +} + static inline int lttng_ustconsumer_get_produced_snapshot( struct lttng_consumer_stream *stream, unsigned long *pos) @@ -94,6 +115,13 @@ int lttng_ustconsumer_get_produced_snapshot( return -ENOSYS; } +static inline +int lttng_ustconsumer_get_consumed_snapshot( + struct lttng_consumer_stream *stream, unsigned long *pos) +{ + return -ENOSYS; +} + static inline int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, int sock, struct pollfd *consumer_sockpoll) @@ -112,6 +140,11 @@ void lttng_ustconsumer_del_channel(struct lttng_consumer_channel *chan) { } +static inline +void lttng_ustconsumer_free_channel(struct lttng_consumer_channel *chan) +{ +} + static inline int lttng_ustconsumer_add_stream(struct lttng_consumer_stream *stream) { @@ -125,7 +158,7 @@ void lttng_ustconsumer_del_stream(struct lttng_consumer_stream *stream) static inline int lttng_ustconsumer_read_subbuffer(struct lttng_consumer_stream *stream, - struct lttng_consumer_local_data *ctx) + struct lttng_consumer_local_data *ctx, bool *rotated) { return -ENOSYS; } @@ -158,7 +191,16 @@ void *lttng_ustctl_get_mmap_base(struct lttng_consumer_stream *stream) return NULL; } static inline -void lttng_ustconsumer_close_metadata(struct lttng_ht *ht) +void lttng_ustctl_flush_buffer(struct lttng_consumer_stream *stream, + int producer_active) +{ +} +static inline +void lttng_ustconsumer_close_all_metadata(struct lttng_ht *ht) +{ +} +static inline +void lttng_ustconsumer_close_metadata(struct lttng_consumer_channel *metadata) { } static inline @@ -167,14 +209,14 @@ void lttng_ustconsumer_close_stream_wakeup(struct lttng_consumer_stream *stream) } static inline int lttng_ustconsumer_recv_metadata(int sock, uint64_t key, uint64_t offset, - uint64_t len, struct lttng_consumer_channel *channel, - int timer) + uint64_t len, uint64_t version, + struct lttng_consumer_channel *channel, int timer) { return -ENOSYS; } static inline int lttng_ustconsumer_request_metadata(struct lttng_consumer_local_data *ctx, - struct lttng_consumer_channel *channel, int timer) + struct lttng_consumer_channel *channel, int timer, int wait) { return -ENOSYS; } @@ -184,6 +226,29 @@ int lttng_ustconsumer_sync_metadata(struct lttng_consumer_local_data *ctx, { return -ENOSYS; } +static inline +void lttng_ustconsumer_flush_buffer(struct lttng_consumer_stream *stream, + int producer) +{ +} +static inline +int lttng_ustconsumer_get_current_timestamp( + struct lttng_consumer_stream *stream, uint64_t *ts) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_get_sequence_number( + struct lttng_consumer_stream *stream, uint64_t *seq) +{ + return -ENOSYS; +} +static inline +int lttng_ustconsumer_get_stream_id(struct lttng_consumer_stream *stream, + uint64_t *stream_id) +{ + return -ENOSYS; +} #endif /* HAVE_LIBLTTNG_UST_CTL */ #endif /* _LTTNG_USTCONSUMER_H */