בדף הזה מפורטים כמה טיפים נפוצים לפתרון בעיות שקשורות למינויים עם SMT.
מעקב אחרי SMT
כדי להבין את הביצועים וההשפעה של SMT על מינוי, אפשר להשתמש במדדי המעקב הבאים:
המדד subscription/message_transform_latencies מודד כמה זמן לוקח להחיל SMT על הודעה. המדד הזה מודד רק את זמן האחזור של SMT, ולא כולל חלקים אחרים של זמן מסירת ההודעה.
המדד מספק שתי תוויות מרכזיות:
status: מדווח אם השינוי הצליח או אם נתקלה בו בעיה.
filtered: מציין אם ה-SMT גרם לסינון ההודעה. כש-SMT מסנן הודעה במינוי, Pub/Sub מאשר את הפעולה וההודעה לא נשלחת למנויים. התוויתfilteredהזו היא True רק כש-SMT מבצע את הסינון. הודעות שסוננו באמצעות יכולות הסינון המובנות של Pub/Sub לא משתקפות במדד הספציפי הזה.
המדד subscription/byte_cost משמש לזיהוי הודעות שמסוננות על ידי כללי SMT או שהכללים האלה לא פעלו לגביהן. מחפשים את הערכים הספציפיים האלה:
כש-SMT מסנן הודעה, ה-operation_type הוא
smt_subscribe_filter_drop.אם SMT לא מצליח לשנות הודעה, מופיע
response_codeשלאOK.
נוצר בקלוג
אם אתם רואים הצטברות של הודעות שלא נשלחו במינוי, בדקו אם יש שגיאות INVALID_ARGUMENT שדווחו ב-subscription/message_transform_latencies.
כדי לפתור בעיות שקשורות לשגיאות INVALID_ARGUMENT, מוסיפים נושא להודעות ללא מוצא למינוי הרלוונטי. נושא ההודעות שלא נמסרו מתעד הודעות שלא הצליחו להימסר למנויים, יחד עם מאפיין בשם CloudPubSubDeadLetterSourceSMTErrorMessage שמסביר את סיבת הכשל.
המאמרים הבאים
- אם עדיין יש לכם בעיות עם SMTs של מינויים, כדאי לעיין במאמר קבלת תמיכה.