GDK Telemetry: Distinguish between projects in Workspaces

Overview

Currently, GDK telemetry tracks events during GDK setup and run operations. This telemetry is also executed in Workspaces across different projects, specifically:

  • Monolith projects
  • GDK projects

The current implementation does not distinguish between these different project locations when collecting telemetry data.

Problem

Without distinguishing between project locations in our telemetry:

  • We cannot analyze usage patterns specific to monolith vs GDK projects
  • We may be missing valuable insights about how different project locations utilize GDK
  • It's difficult to identify project-specific issues or optimization opportunities
  • Resource allocation and feature prioritization decisions lack project-type context

Benefits

  • Better insights: Understand how different project locations use GDK features
  • Targeted improvements: Identify and address project-specific pain points
  • Resource optimization: Allocate resources based on actual usage patterns per project locations
  • Enhanced debugging: Troubleshoot issues specific to certain project configurations

Implementation Considerations

  • Add a project_location (or similar) field to telemetry events
  • Ensure backward compatibility with existing telemetry data
  • Consider privacy implications of additional metadata collection
  • Document the new telemetry fields and their purposes

Impacted categories

The following categories relate to this issue:

Steps to replicate (optional)

Proposal (optional)

Implement project type identification in GDK telemetry to differentiate between:

  1. Monolith projects
  2. GDK projects
  3. Other project types (if applicable)

Environment (optional)

  • Operating system name: <!-- output of `uname -a` command -->
  • Architecture: <!-- output of `arch` or `uname -m` command -->
  • The contents of your gdk.yml (if any)
  • Ruby version: <!-- output of `ruby --version` command -->
  • GDK version: <!-- output of `git rev-parse --short HEAD` command -->
Edited by Peter Leitzen