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:
  • Add x-request-id header.
  • No labels