doc/development/internal_analytics/cli_contribution_guidelines.md
The internal events generator should:
The internal events generator should not:
The internal events generator should:
The internal events generator should not:
The internal events generator should:
The internal events generator should not:
The internal events generator should:
The internal events generator should:
InternalEventsCli::Text::FEEDBACK_NOTICE when a user exits the CLIThe internal events generator should not:
The internal events generator should:
The internal events generator should not:
scripts/internal_events/cli/helpers/formatting.rb for formatting different types of information and inputs.Q: Why don't InternalEventsCli::Event & InternalEventsCli::Metric use Gitlab::Tracking::EventDefinition & Gitlab::Usage::MetricDefinition?
A: Using the EventDefinition & MetricDefinition classes would require GDK to be running and the rails app to be loaded. The performance of the CLI is critical to its usability, so separate classes are worth the value snappy startup times provide. Ideally, this will be refactored in time such that the same classes can be used for both the CLI & the rails app. For now, the rails app and the CLI share the json-schemas for the definitions as a single source of truth.