Problem 1: Tracking user projects
Description: I need to be able to recreate the user's exact session in order to troubleshoot/replicate issues.
- Users tend to submit tickets with something like "My download failed because of... xyz." The only information we get from the feedback module is:
- Username
- Email address
- EDSC retrieval ID (the user typically submits an error ticket while on the project page, so this URL is included)
- The retrieval ID gets obfuscated early in the download process and leads to no information in the logs.
- The old API retrieval tool allowed me to recreate the user's search/download with ONLY the retrieval ID. The information needed included:
- Source URL including all parameters/filters from EDSC session
- Order ID's and their status
- Download type (esi, stage for delivery, direct download, etc.)
Potential Solutions:
- De-obfuscate EDSC retrieval ID.
- Have a tool for this.
- Never obfuscate it.
- Do retrieval ID's need to be "secret"?
- Create a new API retrieval tool for serverless.
Problem 2: Metrics tracking
Description: Serverless is not setup to track user metrics like the old app.
- The old app was tracking several metrics, including:
- search
- filter
- collection_relevancy
- details
- immediate-reenter
- retrieve
- Serverless is only tracking 'collection_relevancy'.
- There is no 'session ID' or 'user ID' in the logs, making it impossible to connect two searches to the same user/session.
Potential Solutions:
- Add information to logs.
- Most logs are currently only setup to log errors at the point they fail.
Problem 3: Tracking logs between applications
Description: It is difficult to track issues across applications, primarily CMR and URS.
- A user may report an issue with EDSC that failed in CMR or URS. It is difficult to track a user's session/logs through applications.
- Adding the x-request-id header to EDSC logs will make this easier.
Potential Solutions:
{"serverDuration": 69, "requestCorrelationId": "82d59f9d5e1ce34e"}