Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] Migrate UserReport-related services to Feedback Issues #79859

Open
16 tasks
aliu39 opened this issue Oct 28, 2024 · 2 comments
Open
16 tasks

[Epic] Migrate UserReport-related services to Feedback Issues #79859

aliu39 opened this issue Oct 28, 2024 · 2 comments

Comments

@aliu39
Copy link
Member

aliu39 commented Oct 28, 2024

Background info:

Since SDK v8 and the release of the UF widget, there are 2 data formats for feedback. “User reports” in Postgres, and “Feedback issues” in Clickhouse. Feedback issues are a superset of user reports and newer, so all user-facing services should work with feedback issues.

Currently:
Image
source


Milestone 1 Issue Details tab

Desired result:

Issue details “User Feedback” tab shows feedback issues associated with the current event, making use of the associatedEventId field in the feedback context.

Motivation:

Currently this tab only shows user reports, which come from the crash report modal and older, deprecated SDKs and endpoints. If a user tries to associate events to their widget feedback, it won't show up in the UF tab

Tasks:

  • Investigate what field to filter by and how to write the API query
    1. event.contexts.feedback.associatedEventId
    2. event.tags[“associated event id”]
      • Are there any drawbacks to this? e.g. Performance, data duplication
  • share a spec/RFC with issues team and get their approval
  • Query /issues from the UF tab in the frontend, using the query from above task.
  • Discuss w issues how to roll it out slowly
  • Reach out to users who’ve reported issues (can incl them in EA)

Potential follow-ups:

  • Link to feedback details from issue details
  • Support filter by event/issue ID in feedback list page

Milestone 2 /user-feedback endpoints(s) (read path)

Desired results:

Return extra fields for isSpam, hasSeen, traceId, replayId, groupId etc. GET method

  • Implies we should query clickhouse for all data, since these fields aren't available in Postgres. This means we'll include widget feedback, which isn't currently returned.
  • Response must be backward compatible (include the same fields as current schema)
  • Add search filters for some/all these fields?

Motivation:

  1. Users are requesting these fields after GA of new feedback.
  2. Like issue details, it may be confusing why we’re not returning widget feedbacks here.

Challenges/cons:

  • The difference w/issue details is we clearly deprecated this endpoint in the docs, directing users to /issues doc
    • After updating issue details, we, internally, have no use for this endpoint.
    • Alternative: we add detailed instructions on how to use /issues in the "List a Project's user feedback" API docs page, and don't do this milestone. We could even remove /user-feedback from docs altogether so users can't get confused.
  • There’s an Organization, Project (most used) and Group endpoint. To be consistent, we have to update all of them

Tasks:

  • Determine the search query util to use (see GroupIndexEndpoint’s)
  • Figure out how to get the current response fields from search response
  • Decide on the list of new fields, and how to get from search response
  • Decide on list of search filters and how to parse them
  • Update each endpoint's code, gated w/a FF, using knowledge from tasks 1-4
    • Project
    • Organization
    • Group
  • Roll out
  • Update docs

Follow-ups


Milestone 3: Ongoing work to support a captureFeedback API in all SDK platforms.

Branched off to

Motivation:

  1. Benefits of new format:
  • has all the context of a regular event, incl environment, trace, replay, breadcrumbs, user..
  • associated event is optional: allows users to collect generic feedback
  • don't need to wait for assoc event to be ingested, handle invalid/expired event ids, etc. Either the feedback is ingested, or it's not.
  • less models to store/shim
  1. The shim pipeline is inefficient and complicated to maintain

Today Datadog shows 128k old v 7k new (18:1) envelopes in the last week. The majority may be from gaming platforms.

@aliu39 aliu39 changed the title Migrate UserReport-related services to feedback issues Migrate UserReport-related services to Feedback Issues Oct 28, 2024
@aliu39
Copy link
Member Author

aliu39 commented Oct 29, 2024

Issue details customer report: #77374 (comment)

@aliu39
Copy link
Member Author

aliu39 commented Dec 12, 2024

@aliu39 aliu39 changed the title Migrate UserReport-related services to Feedback Issues [Epic] Migrate UserReport-related services to Feedback Issues Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant