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:
-
gdk-reliability - e.g. When a GDK action fails to complete. -
gdk-usability - e.g. Improvements or suggestions around how the GDK functions. -
gdk-performance - e.g. When a GDK action is slow or times out.
Steps to replicate (optional)
Proposal (optional)
Implement project type identification in GDK telemetry to differentiate between:
- Monolith projects
- GDK projects
- 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