Project

General

Profile

LibradosObjecter trace capture and replay

Summary

Rados level operation traces will allow us to create more realistic tests and benchmarks.

Owners

  • Samuel Just (Red Hat)
  • Name (Affiliation)
  • Name

Interested Parties

  • Name (Affiliation)
  • Name (Affiliation)
  • Name

Current Status

Nothing.

Detailed Description

There are a couple of approaches here for capturing the trace data. First, we could hook in at the Objeter/Librados level and capture the trace of operations generated by a client. This is probably simpler, and has the advantage of retaining the operation ordering from a single client. Second, we could capture the trace on the pg primary. This seems to have the advantage of retaining cross client ordering on individual objects, but probably loses single client ordering across objects. We could probably recover per-client ordering from the client tid values on the operations.

We also need to build a tool capable of replaying the above traces, probably with the ability to filter for particular clients in order to reproduce multi-client workloads.

Work items

Design tasks

  1. Develop a schema for the trace data
  2. Decide on a capture/replay strategy based on how we want to handle multi-client workloads.

Coding tasks

  1. Task 1
  2. Task 2
  3. Task 3

Build / release tasks

  1. Task 1
  2. Task 2
  3. Task 3

Documentation tasks

  1. Task 1
  2. Task 2
  3. Task 3

Deprecation tasks

  1. Task 1
  2. Task 2
  3. Task 3