fix(rum): convert relative time strings in sessions commands#39
Merged
Conversation
Fix bug where `pup rum sessions list` and `pup rum sessions search`
passed raw relative time strings (e.g., "1h") directly to the Datadog
RUM API, causing 400 errors. The RUM API expects either date math
format ("now-1h"), ISO 8601 timestamps, or Unix milliseconds.
Changes:
- Convert relative times to Unix milliseconds using parseTimeString()
- Validate time parameters before creating API client for faster feedback
- Add comprehensive error messages with format hints and troubleshooting
- Include request details in error output for better debugging
Testing:
- Add TestRumSessionsList_TimeConversion with 4 test cases
- Add TestRumSessionsSearch_TimeConversion with 4 test cases
- All tests pass with race detection enabled
- Behavior now matches logs commands (cmd/logs_simple.go:645-653)
Fixes #37
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
📊 Test Coverage ReportThreshold: 80% ✅ Coverage by Package📈 Coverage Status: ✅ PASSED - Coverage meets minimum threshold Updated for commit ae447c1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes issue #37 where
pup rum sessions listandpup rum sessions searchcommands fail with 400 errors when using relative time formats like"1h". The commands were passing raw time strings directly to the Datadog RUM API, which expects date math format ("now-1h"), ISO 8601 timestamps, or Unix milliseconds.Changes
"1h","30m") to Unix milliseconds usingparseTimeString(), matching the behavior of logs commandsTestRumSessionsList_TimeConversion: 4 test cases for list commandTestRumSessionsSearch_TimeConversion: 4 test cases for search commandTest Plan
Before/After
Before:
After:
Related Issues
Closes #37
🤖 Generated with Claude Code