Add event tracking when flows and agents are created, updated, and destroyed

About

We want to add event tracking when agents are created, updated, or destroyed.

Proposal

Add tracking events into the services that are added as part of:

Proposed tracking events:

Create:

track_internal_event(
  "create_ai_item",
  user: current_user,
  project: project,
  additional_properties: {
    label: 'agent'
  }
)

Update:

track_internal_event(
  "update_ai_item",
  user: current_user,
  project: project,
  additional_properties: {
    label: 'agent'
  }
)

Delete:

track_internal_event(
  "delete_ai_item",
  user: current_user,
  project: project,
  additional_properties: {
    label: 'agent'
  }
)

See https://docs.gitlab.com/development/internal_analytics/internal_event_instrumentation/quick_start/.

In the above docs, it recommends a naming convention of <action>_<target_of_action>_<where/when>.

However, looking at other events that use #track_internal_event, they often don't mention <where/when>, so we could also not append that.

Edited by 🤖 GitLab Bot 🤖