Please note: this is not an officially supported Google product.
Appsight helps you visualize the ad request and rendering process with a clear timeline of SDK events, aligning a video capture to events to easily identify latency issues.
- Node.js and npm
- Python 3.11+
- Google Cloud SDK (gcloud)
The backend is a Flask application that proxies requests to Google Cloud Storage (GCS).
cd server
pip install -r requirements.txt
# Authenticate to access GCS buckets
gcloud auth application-default login
python main.pyThe backend will run on http://127.0.0.1:8080.
npm install
ng serveNavigate to http://localhost:4200/. The frontend is configured to proxy /api requests to the backend at http://127.0.0.1:8080.
Appsight can load logs and videos directly from GCS using the end-user's credentials.
The application uses Google Identity Services for OAuth2 authentication.
- Scopes:
https://www.googleapis.com/auth/devstorage.read_only - Access: The user signed into the browser must have
storage.objects.getandstorage.objects.listpermissions on the target GCS bucket.
If you are deploying your own instance:
- Create an OAuth 2.0 Client ID in the Google Cloud Console.
- Add your app's URL and
http://localhost:4200to the Authorized JavaScript origins. - Update the
CLIENT_IDinsrc/app/services/upload-service.ts.
Expected GCS path format: gs://bucket-name/path/to/session/
The directory should contain:
logcat.txt(orlogcat)video.mp4
- Via UI: Click "Load from GCS" and enter the path.
- Via URL: Append
?gcs_path=gs://your-bucket/path/to the URL.
-
Build the frontend:
npm run build
This generates the static files in
server/dist/. -
Deploy to App Engine:
cd server gcloud app deploy
- Enable Network Tracing on your device/emulator:
- Capture the data for your app:
- Enable USB debugging
- Install ADB on your computer
- Run the script:
./data_collection/video_tracing.sh - The script creates a new directory with screen recording and logs
- Navigate to the web app and follow the instructions from the script
Run ng test --watch to test the project while watching for file changes.