Database Profiler - Insert Data missing

Hello,

I am currently using profiling level 2 of the Database Profiler, to get an output of all queries that were run in a given timeframe so I can replay them later against a different database, for benchmarking.

However it seems, that all Insert Operations recorded by the Profiler in system.profile lack the data that was actually inserted, but instead contain an lsid. What is this lsid? Is it the ID of the operation? The document? The session?

Example:

> db.getProfilingLevel()
0
> db.setProfilingLevel(2)
{ "was" : 0, "slowms" : 100, "sampleRate" : 1, "ok" : 1 }
> db.getCollection("testColl").insert({"testKey":"testVal"})
WriteResult({ "nInserted" : 1 })
> db.getCollection("system.profile").find()
{ "op" : "insert", "ns" : "test.testColl", "command" : { "insert" : "testColl", "ordered" : true, "lsid" : { "id" : UUID("e3255b48-e2f8-4875-ba6d-541ed29d8784") }, "$db" : "test" }, "ninserted" : 1, "keysInserted" : 1, "numYield" : 0, "locks" : { "Global" : { "acquireCount" : { "r" : NumberLong(1), "w" : NumberLong(1) } }, "Database" : { "acquireCount" : { "w" : NumberLong(1) } }, "Collection" : { "acquireCount" : { "w" : NumberLong(1) } } }, "responseLength" : 29, "protocol" : "op_msg", "millis" : 0, "ts" : ISODate("2022-01-20T11:31:34.609Z"), "client" : "127.0.0.1", "appName" : "MongoDB Shell", "allUsers" : [ ], "user" : "" }

So to conclude I am looking for one of three things:

  1. A way to reconstruct the original insert statement from this log in systems.profile
  2. A way / configuration to make the Database Profiler log the contents of insert operations
  3. An alternative way / tool to log all queries with contents

Thanks for your help, and please tell me If you need additional information