Using the transaction profiling analyzer?

My coworkers and I saw https://github.com/apple/foundationdb/blob/master/contrib/transaction_profiling_analyzer/transaction_profiling_analyzer.py which hints at clients being able to store their transaction traces directly into FDB.

But for the life of us, we can’t figure out how to turn the behavior on, and get the traces sent. I’d have assumed it was a new 7.0 thing, but the code references supporting 5.2 through 6.2.

Is it implemented? What incantation turns it on?

Thanks

1 Like

It’s enabled and disabled via fdbcli> profile client, which enables and disables it for all clients via state in the database. You can enable and disable it on a client-by-client basis if you set the knobs CSI_SAMPLING_PROBABILITY and CSI_SIZE_LIMIT on the client.

fdbcli> profile client set 0.01 100MB profiles 1% of transactions and maintains 100MB worth of history in the database.

7 Likes