Instrumenting AI features so that we can filter by client

What does this MR do and why?

Adds the client field to the execute_llm_method snowplow events, as requested.

Also, changes it so that Duo Chat tracking recognizes other clients besides just vscode and web.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

N/A

How to set up and validate locally

  1. You will need snowplow micro installed.
  2. Go to http://localhost:9092/micro/reset to reset snowplow micro
  3. Ask any question on Duo Chat
  4. Go to http://localhost:9092/micro/good and look for an event with se_action of execute_llm_method. It should have a client field present.
  • Note: it may be easier to read using a JSON formatter. What I did is create a new .JSON file in Rubymine and then have it automatically format it for easier reading. Then I searched for "client": and collapsed all the other results.

Related to #464043 (closed)

Edited by Lesley Razzaghian

Merge request reports

Loading