Add kernctl RING_BUFFER_SNAPSHOT_SAMPLE_POSITIONS command
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 5 May 2017 03:30:56 +0000 (23:30 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 5 May 2017 04:15:02 +0000 (00:15 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/kernel-ctl/kernel-ctl.c
src/common/kernel-ctl/kernel-ctl.h
src/common/kernel-ctl/kernel-ioctl.h

index 839a8600e2a3a94ca3eab38b03863138225758fa..fffa64c87dd79cdec16e53380b5ba0003b257d44 100644 (file)
@@ -470,6 +470,16 @@ int kernctl_snapshot(int fd)
        return LTTNG_IOCTL_CHECK(fd, RING_BUFFER_SNAPSHOT);
 }
 
+/*
+ * Get a snapshot of the current ring buffer producer and consumer positions,
+ * regardless of whether or not the two positions are contained within the
+ * same sub-buffer.
+ */
+int kernctl_snapshot_sample_positions(int fd)
+{
+       return LTTNG_IOCTL_CHECK(fd, RING_BUFFER_SNAPSHOT_SAMPLE_POSITIONS);
+}
+
 /* Get the consumer position (iteration start) */
 int kernctl_snapshot_get_consumed(int fd, unsigned long *pos)
 {
index a8c27dd3a7f143d2e3f6bdee1d10df6b79116992..952fb6fd12ec51084170e6cbce60c09bc5d2c42b 100644 (file)
@@ -86,6 +86,7 @@ int kernctl_put_next_subbuf(int fd);
 
 /* snapshot */
 int kernctl_snapshot(int fd);
+int kernctl_snapshot_sample_positions(int fd);
 int kernctl_snapshot_get_consumed(int fd, unsigned long *pos);
 int kernctl_snapshot_get_produced(int fd, unsigned long *pos);
 int kernctl_get_subbuf(int fd, unsigned long *pos);
index 2ade00cd1b99091ab4cc5e4dc1977b7da806d285..396c286812d2c99d46da83ee7b64c68b3a3960f9 100644 (file)
 #define RING_BUFFER_FLUSH                   _IO(0xF6, 0x0C)
 /* Get the current version of the metadata cache (after a get_next). */
 #define RING_BUFFER_GET_METADATA_VERSION    _IOR(0xF6, 0x0D, uint64_t)
+/*
+ * Get a snapshot of the current ring buffer producer and consumer positions,
+ * regardless of whether or not the two positions are contained within the same
+ * sub-buffer.
+ */
+#define RING_BUFFER_SNAPSHOT_SAMPLE_POSITIONS  _IO(0xF6, 0x0E)
 
 /* returns the timestamp begin of the current sub-buffer */
 #define LTTNG_RING_BUFFER_GET_TIMESTAMP_BEGIN     _IOR(0xF6, 0x20, uint64_t)
This page took 0.0257 seconds and 4 git commands to generate.