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