פתרון בעיות במינוי באמצעות Single Message Transforms‏ (SMT)

בדף הזה מפורטים טיפים לפתרון בעיות נפוצות שקשורות למינויים עם 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 של מינויים, כדאי לעיין במאמר קבלת תמיכה.