X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-ring-buffer-client.h;fp=lttng-ring-buffer-client.h;h=4fffab981affbd2064bc2724bb03eabe67f0acc5;hb=5594698f9c8ad13e0964c67946d1867df7757dae;hp=34493333bcc8a0055db535cf262a319e09b92021;hpb=5b3cf4f924befda843a7736daf84f8ecae5e86a4;p=lttng-modules.git diff --git a/lttng-ring-buffer-client.h b/lttng-ring-buffer-client.h index 34493333..4fffab98 100644 --- a/lttng-ring-buffer-client.h +++ b/lttng-ring-buffer-client.h @@ -57,6 +57,7 @@ struct packet_header { */ uint8_t uuid[16]; uint32_t stream_id; + uint64_t stream_instance_id; struct { /* Stream packet context */ @@ -352,6 +353,7 @@ static void client_buffer_begin(struct lib_ring_buffer *buf, u64 tsc, header->magic = CTF_MAGIC_NUMBER; memcpy(header->uuid, session->uuid.b, sizeof(session->uuid)); header->stream_id = lttng_chan->id; + header->stream_instance_id = buf->backend.cpu; header->ctx.timestamp_begin = tsc; header->ctx.timestamp_end = 0; header->ctx.content_size = ~0ULL; /* for debugging */ @@ -485,6 +487,17 @@ static int client_sequence_number(const struct lib_ring_buffer_config *config, return 0; } +static +int client_instance_id(const struct lib_ring_buffer_config *config, + struct lib_ring_buffer *buf, + uint64_t *id) +{ + struct packet_header *header = client_packet_header(config, buf); + *id = header->stream_instance_id; + + return 0; +} + static const struct lib_ring_buffer_config client_config = { .cb.ring_buffer_clock_read = client_ring_buffer_clock_read, .cb.record_header_size = client_record_header_size, @@ -716,6 +729,7 @@ static struct lttng_transport lttng_relay_transport = { .stream_id = client_stream_id, .current_timestamp = client_current_timestamp, .sequence_number = client_sequence_number, + .instance_id = client_instance_id, }, };