forked from trent_larson/crowd-funder-for-time-pwa
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
37 lines
955 B
Bash
Executable File
37 lines
955 B
Bash
Executable File
#!/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"
|
|
|