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

Update the analytics events for relevancy #5108

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

obulat
Copy link
Contributor

@obulat obulat commented Oct 29, 2024

Fixes

Fixes #5005 by @zackkrida
Fixes #5107 by @obulat

Description

This PR updates the analytics events so that we can analyze results for relevancy for their search queries.

From the single result page events (COPY_ATTRIBUTION, GET_MEDIA, RIGHT_CLICK), and for selecting the result (SELECT_SEARCH_RESULT), we can now see the search query and the position of the current result in the list of results.

Some of the event data were refactored to simplify the code.

Testing Instructions

Run the app using ov just frontend/run dev
Run a search and select a search result. You should see SELECT_SEARCH_RESULT event with query and position logged in the console.
If you click on "Copy button", or right-click on the image, you should see the new properties (position and query) for the analytics events in the console.

Checklist

  • My pull request has a descriptive title (not a vague title likeUpdate index.md).
  • My pull request targets the default branch of the repository (main) or a parent feature branch.
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated tests for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no visible errors.
  • I ran the DAG documentation generator (ov just catalog/generate-docs for catalog
    PRs) or the media properties generator (ov just catalog/generate-docs media-props
    for the catalog or ov just api/generate-docs for the API) where applicable.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@obulat obulat requested a review from a team as a code owner October 29, 2024 10:00
@obulat obulat requested review from krysal and dhruvkb October 29, 2024 10:00
@obulat obulat marked this pull request as draft October 29, 2024 10:01
@openverse-bot openverse-bot added 🧱 stack: frontend Related to the Nuxt frontend 🟧 priority: high Stalls work on the project or its dependents ✨ goal: improvement Improvement to an existing user-facing feature 💻 aspect: code Concerns the software code in the repository 🧱 stack: analytics Related to the analytics setup labels Oct 29, 2024
@obulat obulat force-pushed the add/position-to-SELECT_SEARCH_RESULT branch from a3df6ac to b316ffe Compare October 29, 2024 10:05
Copy link

github-actions bot commented Oct 29, 2024

Latest k6 run output1

     ✓ status was 200

     checks.........................: 100.00% ✓ 6400      ✗ 0   
     data_received..................: 1.5 GB  8.6 MB/s
     data_sent......................: 838 kB  4.9 kB/s
     http_req_blocked...............: avg=14.56µs  min=1.95µs  med=3.86µs   max=8.04ms p(90)=5.35µs   p(95)=5.78µs  
     http_req_connecting............: avg=9.86µs   min=0s      med=0s       max=8.01ms p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=600.53ms min=61.9ms  med=521.84ms max=2.34s  p(90)=1.08s    p(95)=1.18s   
       { expected_response:true }...: avg=600.53ms min=61.9ms  med=521.84ms max=2.34s  p(90)=1.08s    p(95)=1.18s   
   ✓ http_req_failed................: 0.00%   ✓ 0         ✗ 6400
     http_req_receiving.............: avg=141.72µs min=43.48µs med=112.14µs max=19.7ms p(90)=173.48µs p(95)=206.79µs
     http_req_sending...............: avg=19.87µs  min=6.16µs  med=18.65µs  max=3.24ms p(90)=24.52µs  p(95)=26.72µs 
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=600.37ms min=61.81ms med=521.58ms max=2.34s  p(90)=1.08s    p(95)=1.18s   
     http_reqs......................: 6400    37.061124/s
     iteration_duration.............: avg=3.2s     min=1.21s   med=2.62s    max=9.6s   p(90)=6.3s     p(95)=6.5s    
     iterations.....................: 1200    6.948961/s
     vus............................: 8       min=8       max=30
     vus_max........................: 30      min=30      max=30

Footnotes

  1. This comment will automatically update with new output each time k6 runs for this PR

@obulat obulat force-pushed the add/position-to-SELECT_SEARCH_RESULT branch from 1b0d0ca to 7533d13 Compare October 29, 2024 14:09
@obulat obulat self-assigned this Oct 29, 2024
@obulat obulat marked this pull request as ready for review October 29, 2024 14:37
@obulat obulat force-pushed the add/position-to-SELECT_SEARCH_RESULT branch 3 times, most recently from d8bc635 to 378da7c Compare November 4, 2024 03:36
@openverse-bot
Copy link
Collaborator

Based on the high urgency of this PR, the following reviewers are being gently reminded to review this PR:

@krysal
@dhruvkb
This reminder is being automatically generated due to the urgency configuration.

Excluding weekend1 days, this PR was ready for review 4 day(s) ago. PRs labelled with high urgency are expected to be reviewed within 2 weekday(s)2.

@obulat, if this PR is not ready for a review, please draft it to prevent reviewers from getting further unnecessary pings.

Footnotes

  1. Specifically, Saturday and Sunday.

  2. For the purpose of these reminders we treat Monday - Friday as weekdays. Please note that the operation that generates these reminders runs at midnight UTC on Monday - Friday. This means that depending on your timezone, you may be pinged outside of the expected range.

@krysal
Copy link
Member

krysal commented Nov 5, 2024

@obulat, I'll put this in draft while the tests are resolved.

@krysal krysal marked this pull request as draft November 5, 2024 20:16
@obulat obulat force-pushed the add/position-to-SELECT_SEARCH_RESULT branch from 378da7c to 0c09852 Compare November 7, 2024 07:59
Copy link

github-actions bot commented Nov 7, 2024

Playwright failure test results: https://github.com/WordPress/openverse/actions/runs/11718843873

It looks like some of the Playwright tests failed. If you made changes to the frontend UI without updating snapshots, this might be the cause. You can download zipped patches containing the updated snapshots alongside a general trace of the tests under the "Artifacts" section in the above page. They're named in the form *_snapshot_diff and *_test_results respectively.

You can read more on how to use these artifacts in the docs.

If the test is flaky, follow the flaky test triage procedure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 aspect: code Concerns the software code in the repository ✨ goal: improvement Improvement to an existing user-facing feature 🟧 priority: high Stalls work on the project or its dependents 🧱 stack: analytics Related to the analytics setup 🧱 stack: frontend Related to the Nuxt frontend
Projects
Status: 🚧 Draft
3 participants