Update Audience and Behavior dashboards to call from Snowplow-specific Cube schemas

Summary

As part of our switch over to Snowplow, we currently have visualizations that are referring to Cube schemas specifically built for Jitsu https://gitlab.com/gitlab-org/analytics-section/product-analytics/devkit/-/tree/main/cube/schema, e.g., Sessions and TrackedEvents. We have Snowplow-specific schemas such as SnowplowTrackedEvents and SnowplowSessions.

Ideally the Snowplow-specific schemas will simply replace the Jitsu-specific ones, but to ensure a smooth transition since there are moving parts between GitLab and the Analytics Stack, we may want to create additional visualizations that are served via a feature flag, which can then replace the Jitsu-specific visualizations once the product_analytics_snowplow_support feature flag has been removed.

Implementation plan

  • Define existing Audience and Behaviour dashboards using snowplow schemas in JSON YAML. (We can probably use the existing hard-coded Jitsu ones as a template)
    • These files will need to be stored in the GitLab project itself.
  • Change ProductAnalytics::Dashboard to append both of these dashboards to every project's dashboard list when the feature flag is enabled.
    • Note it should only be appended if the product analytics feature is enabled and onboarded.
  • Update documentation in doc/user/product_analytics/index.md (see also !117687 (comment 1367125922))
  • Existing dashboards/visualizations for jitsu-supported projects should be unaffected. (Use the product_analytics_snowplow_support feature flag)

Edited by Robert Hunt