lttng: Split up libtracepoints

Signed-off-by: Adam Crume <adamcrume@gmail.com>
lttng: Remove 'ver' from trace in code for CEPH_OSD_OP_NOTIFY

'ver' is obsolete and variable exists only for proper deserialization

Signed-off-by: Adam Crume <adamcrume@gmail.com>
lttng: Basic tracing of librbd

Signed-off-by: Adam Crume <adamcrume@gmail.com>
tracing: instrument filestore

This adds objectstore tracepoints for the filestore. It'd be nice to add
these to the objectstore interface some how so we can get all
implementations for free, but that might just be a bit difficult
especially since each impl will apply transactions in a differnet way.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
lttng: Add more tracing to librbd

Includes:
- aio_complete
- aio_discard
- aio_flush
- aio_get_return_value
- aio_is_complete
- aio_read
- aio_wait_for_complete
- aio_write
- copy
- discard
- flush
- invalidate_cache
- rename
- resize
- Add ImageCtx pointer to trace points
- Add snap_name and readonly flag to trace point open_image_enter

Signed-off-by: Adam Crume <adamcrume@gmail.com>
lttng: Add rbd-replay

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Switch logging from cout to dout

To enable logs, we also have to use global_init to parse our
command-line args, so we now have other standard Ceph goodies
such as picking up config options from the environment.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
Add assertf macro

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add rbd_replay subsystem

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Bugfix: ensure PendingIOs are added before they're removed

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Printing pending IOs when worker threads waiting to die

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Change Worker::m_pending_ios from vector to map

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Print "Still waiting for" more judiciously

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Support writing Actions to ostreams

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Check that return values are non-negative

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Fix memory leak in PendingIO

Signed-off-by: Adam Crume <adamcrume@gmail.com>
doc: Add usage comment to librbd::RBD::AioCompletion

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add --latency-multiplier option to usage statement

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Hash completions across multiple mutexes to reduce contention

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Clean up prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>