Today transaction manager does not have details of what transaction belongs to which client. For instance when a there are a lot of invalid transactions generated by a client, it is not easy to say which client generated the invalid transactions. Transaction manager just logs a message saying the transaction ID was invalidated. This makes debugging very difficult since there is no easy way to map the transaction ID to a program.
Transaction APIs should allow clients to pass in client IDs for every start transaction call. Transaction manager can store this client ID as part of the transaction metadata. And when transaction manager logs messages with transaction ID, it can include the client ID in the message.