ניפוי באגים בנפח אחסון משותף

כלים לניפוי באגים ב-Shared Storage.

ניפוי באגים ב-worklets של Shared Storage באמצעות כלי הפיתוח

כדי לבדוק את ה-worklets של האחסון המשותף שהופעלו מהדף שבו אתם נמצאים, אפשר לעבור לכרטיסייה 'מקורות' בחלונית כלי הפיתוח ולהוסיף את נקודת העצירה של מאזין האירועים 'Shared Storage Worklet / Script First Statement'. נקודת העצירה הזו תשהה את ההפעלה של סקריפט המודול הראשוני או של worklets לזמן קצר בהפעלה.

ניפוי באגים ב-worklet של Shared Storage על ידי הוספת מאזין ברמת האירוע.
אפשר להוסיף נקודת עצירה ל-worklet של Shared Storage.

בנוסף, בדף chrome://inspect/#shared-storage-worklets מוצגים כל הוורקלטים הפעילים של נפח אחסון משותף מכל הדפים.

ניפוי באגים ב-Shared Storage ובצבירה פרטית

כדי להפעיל ניפוי באגים, צריך לבצע קריאה ל-method‏ enableDebugMode() JavaScript באותו הקשר שבו נעשה שימוש באחסון משותף ובצבירה פרטית. ההגדרה הזו תחול על דוחות עתידיים באותו הקשר.

privateAggregation.enableDebugMode();

כדי לשייך את הדוחות להקשרים שהפעילו אותם, אפשר להגדיר מפתח ניפוי באגים של מספר שלם לא מסומן בן 64 ביט שמועבר לקריאה ל-JavaScript. הערך debugKey הוא BigInt.

privateAggregation.enableDebugMode({debugKey: 1234});

ניפוי באגים ב-Shared Storage

האחסון המשותף מחזיר הודעת שגיאה כללית:

Promise is rejected without and explicit error message

כדי לנפות באגים ב-Shared Storage, אפשר להוסיף את הקריאות לבלוקים של try-catch.

try {
  privateAggregation.contributeToHistogram({bucket, value});
} catch (e){
  console.log(e);
}

ניפוי באגים של צבירת נתונים פרטית

הדוחות נשלחים לכתובות /.well-known/private-aggregation/report-shared-storage ו-/.well-known/private-aggregation/debug/report-shared-storage. דוחות ניפוי הבאגים מקבלים מטען ייעודי (payload) שדומה ל-JSON הבא. ב-payload הזה, השדה api מוגדר כ-shared-storage.

{
   "aggregation_coordinator_origin": "https://publickeyservice.msmt.gcp.privacysandboxservices.com",
   "aggregation_service_payloads": [ {
      "debug_cleartext_payload": "omRkYXRhlKJldmFsdWVEAAAAgGZidWNrZXRQAAAAAAAAAAAAAAAAB1vNFaJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAGlvcGVyYXRpb25paGlzdG9ncmFt",
      "key_id": "1569ab37-da44-4a26-80d9-5ed6524ab2a7",
      "payload": "/9nHrWn1MnJWRxFvanbubciWE9mPyIij6uYLi5k351eQCd3/TZpe2knaatUNcniq4a4e61tmKebv50OmMRZFnnCfcAwIdIgLHu1a3en97PojqWJBfO52RiVMIcP7KQTLzMxq2LhvPSdV4zjXo1Teu/JuIK3LIyis3vUMpS+tUAX0QV+I6X5SVmZFiNW9aMb8DwLOtqrBy5JJ/EkOIY0G+1Fi1/3R7UtKsqM1o71A/OzdmlNkwO7EV/VUNinGvWnd19FvDHe/kqkNdTHKbhAnMmbZzHW9bsEQS81leElCla6BTdbdbeeFU/jbTj0AOaoNOIe5r7FU5NG6nW4ULXTCbLLjTQ1mtl3id3IP41Zin1JvABCDC/HUSgLFz8EUqkmbMIOlMfNYA79aURq6FqE0GO0HtICYf0GPNdVv7p4jY3FNn6+JS4l5F3t+3lP9ceo4IpCE+31jzMtYJ+19xFh6C5ufteBR/iknZFcc1w3caQBhgRl5jt8DbaOzYcW4690H8Ul4Oh2wRO+6/njifk+pExLay/O5swLi2lUUph5OUEaaztwwzh2mnhwIBxMkPnfsGihiF+5KDEajVfMZ3NLsIDoZO+l4RTZrkqE+jVkAqaZGBiCIx42Edp/JV0DXfrryypCdQBZr8iEbSzCM9hKsMfLN7S/VkPe5rDwOZbhKCn5XXgfGz5tSx/KbZgsQf4OCEhwAyNPHAh3MHU7xmkQ3pKg4EIUC/WOtKAlVDOtDMmPPoQY1eAwJhw9SxZaYF1kHjUkTm3EnGhgXgOwCRWqeboNenSFaCyp6DbFNI3+ImONMi2oswrrZO+54Tyhca5mnLIiInI+C3SlP4Sv1jFECIUdf/mifJRM5hMj6OChzHf4sEifjqtD4A30c4OzGexWarie2xakdQej9Go4Lm0GZEDBfcAdWLT9HwmpeI2u4HDAblXDvLN8jYFDOOtzOl90oU7AwdhkumUCFLRadXAccXW9SvLfDswRkXMffMJLFqkRKVE1GPonFFtlzaRqp7IgE8L6AOtz6NDcxAjHnEuzDPPMcWMl1AFH0gq7h"
   } ],
   "debug_key": "1234",
   "shared_info": "{\"api\":\"shared-storage\",\"debug_mode\":\"enabled\",\"report_id\":\"80d93c0a-a94e-4ab7-aeb5-a4ecd4bfc598\",\"reporting_origin\":\"https://privacy-sandbox-demos-dsp.dev\",\"scheduled_report_time\":\"1717784740\",\"version\":\"0.1\"}"
}

ניפוי באגים של מטען ייעודי (payload) בטקסט גלוי

הערך debug_cleartext_payload מקודד לפי Base64 ו-CBOR. אפשר לראות את הדלי ואת הערך באמצעות המפענח או להשתמש בקוד JavaScript שנמצא במפענח של אחסון משותף.

השתתפות ושיתוף משוב

שימו לב שההצעה לגבי Shared Storage API נמצאת כרגע בתהליכי דיון ופיתוח, ויכול להיות שהיא תשתנה.

נשמח לשמוע מה דעתכם על Shared Storage API.