Atmos site Telemetry page#1335
Conversation
|
Warning This PR exceeds the recommended limit of 1,000 lines.Large PRs are difficult to review and may be rejected due to their size. Please verify that this PR does not address multiple issues. |
|
Caution Review failedFailed to post review comments. Configuration used: .coderabbit.yaml ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (25)
🧰 Additional context used📓 Path-based instructions (3)`pkg/*/*.go`: Organize feature implementations in subdirectories under pkg/ with separate files for each feature.
`website/**`: Keep website code in the website/ directory and follow the existing website architecture and style. Update website documentation in the website/ directory when adding...
`pkg/*/*_test.go`: Include comprehensive unit tests for each feature in corresponding *_test.go files.
🧠 Learnings (1)pkg/config/load.go (1)🪛 Gitleaks (8.26.0)tests/snapshots/TestCLICommands_atmos_describe_config_-f_yaml.stdout.golden54-54: Detected a Generic API Key, potentially exposing access to various services and sensitive operations. (generic-api-key) pkg/config/atmos.yaml14-14: Detected a Generic API Key, potentially exposing access to various services and sensitive operations. (generic-api-key) 🪛 LanguageToolwebsite/docs/cli/telemetry.mdx[uncategorized] ~56-~56: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE) [style] ~74-~74: Since ownership is already implied, this phrasing may be redundant. (PRP_OWN) 🪛 golangci-lint (1.64.8)tests/cli_test.go[error] 723-723: error is not nil (line 721) but it returns nil (nilerr) ⏰ Context from checks skipped due to timeout of 90000ms (8)
🔇 Additional comments (33)
📝 WalkthroughWalkthroughThis change introduces a comprehensive telemetry system to Atmos, enabling anonymous usage data collection via PostHog. It adds configuration options, detection of various environments (CI, Docker), a disclosure message, and opt-out mechanisms. The update includes code, documentation, tests, configuration, and snapshot adjustments. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant CLI
participant Telemetry
participant PostHog
User->>CLI: Runs command
CLI->>Telemetry: CaptureCmd(cmd, err)
Telemetry->>Telemetry: Load config & cache
Telemetry->>Telemetry: Detect environment (CI, Docker, etc.)
Telemetry->>Telemetry: Show disclosure (if needed)
Telemetry->>PostHog: Send event (if enabled)
PostHog-->>Telemetry: Ack (or error)
Telemetry-->>CLI: Return capture result
Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Suggested labels
Suggested reviewers
✨ Finishing Touches
🧪 Generate Unit Tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## DEV-2965/implement-atmos-telemetry #1335 +/- ##
======================================================================
+ Coverage 50.46% 53.17% +2.70%
======================================================================
Files 243 251 +8
Lines 26116 26650 +534
======================================================================
+ Hits 13179 14170 +991
+ Misses 11308 10804 -504
- Partials 1629 1676 +47
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
* Added initial implementation of telemetry * [autofix.ci] apply automated fixes * Fix lint * Fix lint * Fix lint * Fix lint * Fix lint * Fix lint * Fix test * Fix acceptance tests * Reduce tests verbosity * Reduce tests verbosity * Fix tests * [autofix.ci] apply automated fixes * Addded tests * Added tests for utils * [autofix.ci] apply automated fixes * Address comments * [autofix.ci] apply automated fixes * Fix tests * [autofix.ci] apply automated fixes * DRY * Split full PR to small PRs * Split full PR to small PRs * Split full PR to small PRs * Fix tests * Added support CI, docker and Atmos pro * Reduce public package methods * [autofix.ci] apply automated fixes * Added interface to be generated by mock * [autofix.ci] apply automated fixes * Address coderabbit comments * Address coderabbit comments * [autofix.ci] apply automated fixes * Fix tests * Remove telemetry timeout schema * Remove telemetry timeout schema * Fix tests * Fix cache dependent tests * [autofix.ci] apply automated fixes * Fix cache dependent tests * Fix read-only dir testcase * Fix read-only dir testcase * Fix tests * Fix tests * Fix tests bypassing cache on error * Fix tests bypassing cache on error * Fix tests bypassing cache on error * Added comment * Added comment * Added comment * Address comments * Address comments * Address comments * refactor telemetry provider to use pointer config (#1329) * Added comments * Revert disclouser message * Added disclosure messages * Added disclosure messages * Fix accptance tests * Delete test.log * Move disclosure message to separate PR * Move disclosure message to separate PR * Move disclosure message to separate PR * Move disclosure message to separate PR * Regenerate README * Renew token * [autofix.ci] apply automated fixes * Address comments * Add telemetry to commands (#1360) * Consolidate cmd telemetry * [autofix.ci] apply automated fixes * Update root.go * Capture commands * Telemetry - `atmos describe` cmd (#1342) * Added telemetry to describe commands * Update TestCLICommands_atmos_describe_config_imports.stderr.golden * Update TestCLICommands_atmos_describe_configuration.stderr.golden * Fix tests * Update describe_component.go * Update describe_config.go * Update describe_stacks.go * Update describe_workflows.go * Fix tests * Fix tests --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * Atmos site Telemetry page (#1335) * Added telemetry site page * Update website/docs/cli/telemetry.mdx Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> * Update website/docs/cli/telemetry.mdx Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> * Update website/docs/cli/telemetry.mdx Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> * Update website/docs/cli/telemetry.mdx Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> * Apply suggestions from code review Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> --------- Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com> * Added telemetry disclosure messages (#1332) * Added disclosure messages * Added disclosure messages * Cherry pick disclosure message * Fix tests * Fix tests * Fix tests * Improve disclosure messages * Fix tests * Fix tests * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
what
why
references
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Tests
Chores