Hi @Hamidreza ,
I am creating multiple custom transactions, one for each feature in my web app, for example:
Custom transaction #1 - Upload some file.
Custom transaction #2 - Delete some file.
Custom transaction #3 - Rename some file.
So... I want to keep them separate, so we can analize, time/errors/tags for each feature. The problem is that my requests are async, so the user can upload some file (#1) and meantime delete or rename other files. Please see below an example:
The user upload some file (we are creating a custom transaction named 'UPLOAD_FILE' - this request can take a few minutes depending on the file size and we are taging file_name, file_id, file_size, etc ).
While the upload is progress, the user delete other file (we create a custom transaction named 'DELETE_FILE', but the service is closing the 'UPLOAD_FILE' transaction before it finish. So here we are losing information from the 'UPLOAD_FILE' transaction.
The 'DELETE_FILE' transactions ends, saving data ok.
The 'UPLOAD_FILE' request ends, but nothing happends because we have already closed the transaction.
In case there was a custom transaction active, for example the UPLOAD_FILE, we could create spans for each action that takes place during that process, but this prevents us from analyzing the times of each functionality, so we want to keep each feature as a separate transaction.
We are not creating the spans manually, we let the service do it for us.
Please let me know if you think that we can model this in a different way.