forked from trent_larson/crowd-funder-for-time-pwa
feat(android): Add instrumentation logs for prefetch investigation
Add comprehensive instrumentation to diagnose why native fetcher is not being called during prefetch operations. Instrumentation Added: - TimeSafariApplication: Log app initialization, fetcher registration, and verification with process ID and timestamps - TimeSafariNativeFetcher: Log configuration, fetch start, source resolution (native vs fallback), and write completion - Diagnostic script: Filter logcat for prefetch-related events - Investigation summary: Document root cause hypotheses and diagnostic checklist Log Tags: - APP|ON_CREATE: App initialization timing and process info - FETCHER|REGISTER_START/REGISTERED: Fetcher registration lifecycle - FETCHER|CONFIGURE_START/CONFIGURE_COMPLETE: Configuration tracking - PREFETCH|START/SOURCE/WRITE_OK: Prefetch operation tracking - DISPLAY|START/LOOKUP: Display worker tracking (future) - STORAGE|POST_PREFETCH/PRE_DISPLAY: Storage verification (future) This instrumentation will help diagnose: 1. Registration timing issues (worker before onCreate) 2. Fetcher resolution failures (null fetcher) 3. Process mismatches (multi-process issues) 4. ID schema inconsistencies (prefetch vs display) 5. Storage persistence issues (content not saved) Author: Matthew Raymer
This commit is contained in:
36
scripts/diagnose-prefetch.sh
Executable file
36
scripts/diagnose-prefetch.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Diagnostic script for daily notification prefetch issues
|
||||
# Filters logcat output for prefetch-related instrumentation logs
|
||||
#
|
||||
# Usage:
|
||||
# ./scripts/diagnose-prefetch.sh [package_name]
|
||||
#
|
||||
# Example:
|
||||
# ./scripts/diagnose-prefetch.sh app.timesafari.app
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
PACKAGE_NAME="${1:-app.timesafari.app}"
|
||||
|
||||
echo "🔍 Daily Notification Prefetch Diagnostic Tool"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
echo "Package: $PACKAGE_NAME"
|
||||
echo "Filtering for instrumentation tags:"
|
||||
echo " - APP|ON_CREATE"
|
||||
echo " - FETCHER|*"
|
||||
echo " - PREFETCH|*"
|
||||
echo " - DISPLAY|*"
|
||||
echo " - STORAGE|*"
|
||||
echo ""
|
||||
echo "Press Ctrl+C to stop"
|
||||
echo ""
|
||||
|
||||
# Filter logcat for instrumentation tags
|
||||
adb logcat -c # Clear logcat buffer first
|
||||
|
||||
adb logcat | grep -E "APP\|ON_CREATE|FETCHER\||PREFETCH\||DISPLAY\||STORAGE\||DailyNotification|TimeSafariApplication|TimeSafariNativeFetcher" | \
|
||||
grep -i "$PACKAGE_NAME\|TimeSafari\|DailyNotification"
|
||||
|
||||
Reference in New Issue
Block a user