שימוש בכלי לניפוי באגים

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

בקטע הזה מוסבר איך ליצור סשנים של ניפוי באגים ולנהל אותם, ואיך לצפות בנתוני הבקשה והתגובה באמצעות ממשק המשתמש וה-API של Apigee.

אפשר להשתמש באפשרות Offline Debug כדי להציג ולנתח סשנים של ניפוי באגים שהורדו בעבר.

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

קל להשתמש בכלי לניפוי באגים. מתחילים סשן ניפוי באגים, מבצעים קריאה ל-API של Apigee, ואז צופים בנתוני הבקשה והתגובה בממשק המשתמש.

יוצרים סשן לניפוי באגים באמצעות ממשק המשתמש או ה-API של Apigee, כמו שמתואר בקטעים הבאים.

ממשק המשתמש של Apigee

כדי ליצור סשן ניפוי באגים:

  1. במסוף Google Cloud , עוברים לדף Apigee > Proxy development > API Proxies.

    מעבר אל API Proxies

  2. בוחרים את ה-proxy ל-API שרוצים לנפות בו באגים. יוצג החלונית סקירה כללית של עורך ה-Proxy.
  3. לוחצים על הכרטיסייה ניפוי באגים.
  4. לוחצים על התחלת סשן ניפוי באגים. יוצג החלונית התחלת סשן ניפוי באגים.
  5. בחלונית הפעלה של ניפוי באגים:

    1. בוחרים את הסביבה שבה רוצים להפעיל את סשן הניפוי באגים.
    2. (אופציונלי) מהרשימה הנפתחת Filter, בוחרים מסנן להחלה על כל העסקאות בסשן הניפוי באגים שיוצרים. ברירת המחדל היא None (All transactions), שכוללת את כל העסקאות בנתוני הניפוי באגים.

      מידע על שימוש במסננים זמין במאמר שימוש במסננים בסשן ניפוי באגים. מידע על המסננים המובנים זמין במאמר בנושא שימוש במסננים מוגדרים מראש.

    3. לוחצים על התחלה.

בממשק המשתמש של Apigee מוצג עכשיו החלונית Debug session in progress (סשן ניפוי הבאגים מתבצע).

כדי לראות תמונה גדולה יותר, לוחצים עליה סשן חדש של ניפוי באגים

סשן הניפוי באגים מקליט בקשות למשך 10 דקות או עד ש-15 בקשות נשמרות. אם יוצרים את סשן הניפוי באגים באמצעות ה-API, אפשר לשנות את מגבלת 10 הדקות. בשדה Ends within מוצג משך הזמן שנותר בסשן.

לא יוצג מידע בחלונית הניפוי באגים עד שתשלחו בקשה לשרת ה-proxy שאתם מנפים באגים בסביבה שנבחרה עבור סשן ניפוי הבאגים.

אחרי ששולחים את הבקשה, היא מוצגת בחלונית הרשימה עסקאות. רשימת העסקאות מתעדכנת כל חמש שניות.

כדי לראות תמונה גדולה יותר, לוחצים עליה בקשה ברשימת העסקאות

כדי לראות או להעתיק את פלט העסקה:

  1. ברשימה עסקאות, לוחצים על הצגת פלט של העסקה. החלונית Transaction output מוצגת.
  2. לוחצים על עסקה ספציפית או על כל העסקאות.
  3. לוחצים על העתקה כדי להעתיק את פלט העסקה ללוח.
  4. לוחצים על Close.

API

כדי ליצור סשן ניפוי באגים באמצעות ה-API, שולחים בקשת POST למשאב הבא:

https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions

אפשר גם:

בדוגמה הבאה אפשר לראות איך יוצרים סשן ניפוי באגים באמצעות ה-API.

curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \
      -X POST \
      -H "Authorization: Bearer $TOKEN"
    

$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

זוהי דוגמה לתגובה:

{
      "name":"56382416-c4ed-4242-6381-591bbf2788cf",
      "validity":300,
      "count":10,
      "tracesize":5120,
      "timeout":"600"
    }

בקשות עוקבות ל-proxy ל-API (עד שיגיעו למשך הסשן או למספר המקסימלי של הבקשות ) יוערכו ואולי יאוחסנו בנתוני סשן הניפוי באגים.

מידע נוסף מופיע במאמר בנושא יצירת API של הפעלת ניפוי באגים.

הגדרת אורך סשן ניפוי הבאגים באמצעות ה-API

כדי להגדיר את משך הזמן של סשן ניפוי באגים באמצעות ה-API, צריך לכלול את המטען הייעודי (payload) הבא בבקשה ליצירת סשן ניפוי באגים:

{
      "timeout":"debug_session_length_in_seconds"
    }

בדוגמה הבאה נוצר סשן ניפוי באגים שאורכו 42 שניות בלבד:

curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions"
      -X "POST" \
      -H "Authorization: Bearer $TOKEN" \
      -d ' {
        "timeout":"42"
      } '

אפשר להגדיר את timeout של סשן רק בבקשות ליצירת סשן ניפוי באגים. אי אפשר לשנות את משך הסשן אחרי שיוצרים אותו.

ערך ברירת המחדל של timeout הוא 300 (5 דקות). הערך המקסימלי הוא 600 שניות (10 דקות).

מעתיקים את כתובת ה-URL של השרת הפרוקסי.

כתובת ה-URL של ה-proxy משמשת לשליחת בקשות ל-proxy ל-API.

כדי למצוא ולהעתיק את כתובת ה-URL של השרת הפרוקסי:

  1. בחלונית Debug session, בשדה URL, לוחצים על Copy.
  2. אם סשן ניפוי באגים לא פתוח:
    1. במסוף Google Cloud , עוברים לדף Apigee > Management > Environments > Environment Groups.

      מעבר אל Environment Groups

    2. כתובת ה-URL היא שם המארח של הסביבה הרלוונטית שבה רוצים להריץ את סשן ניפוי הבאגים. בוחרים אותו ואז מעתיקים אותו.

כדי לבחור כתובת URL אחרת של שרת proxy:

  1. בחלונית Debug session, בשדה URL, לוחצים על Edit.
  2. מבצעים את השינויים הרצויים ולוחצים על עדכון.
  3. אם סשן ניפוי באגים לא פתוח:
    1. מאתרים את כתובת ה-URL של ה-proxy.
    2. לוחצים על סמל האפשרויות הנוספות, ואז על עריכה.
    3. מבצעים את השינויים הרצויים ולוחצים על עדכון.

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

אפשר ליצור מספר בלתי מוגבל של סשנים לניפוי באגים בממשק המשתמש.

במהלך סשן פעיל של ניפוי באגים, אפשר להפעיל סשן נוסף בממשק המשתמש של Apigee. כדי לעשות את זה, לוחצים על סגירה בחלונית Debug session:

כדי לראות תמונה גדולה יותר, לוחצים עליה סגירה וחזרה לחלונית 'הפעלה של ניפוי באגים'

ממשק המשתמש חוזר לחלונית התחלת סשן ניפוי באגים, שבה אפשר להתחיל סשן חדש של ניפוי באגים.

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

אי אפשר פשוט להפסיק סשן ניפוי באגים פעיל. עם זאת, אפשר למחוק את הנתונים של סשן פעיל, כמו שמתואר במאמר בנושא מחיקת נתונים של סשן ניפוי באגים.

כשיוצרים סשן ניפוי באגים, יש שני מאפיינים שקובעים מתי הוא מסתיים:

  • timeout: משך הזמן שבו נאספים נתונים במהלך סשן. אורך ברירת המחדל תלוי באופן שבו התחלתם את הסשן (דרך ממשק המשתמש או ה-API). הערך המקסימלי הוא 600 שניות (או 10 דקות).
  • count: המספר המקסימלי של בקשות שתועדו בסשן יחיד לכל מעבד הודעות. ברוב האשכולות, מספר מעבדי ההודעות משתנה, ולכן קשה לחזות את ההשפעות של המספר הזה. ‫Apigee לא ממליצה להתאים אישית את ההגדרה הזו.

כשמגיעים לזמן הקצוב לתפוגה או למספר ההודעות, סשן הניפוי באגים של מעבד ההודעות מסתיים.

המונחים הבאים משמשים לתיאור המצב של סשן ניפוי באגים:

  • סשן פעיל הוא סשן ניפוי באגים שעדיין לא הגיע לזמן הקצוב לתפוגה או לא חרג ממספר הפעמים שניתן להשתמש בו. במהלך סשן פעיל, המערכת ממשיכה לתעד נתוני בקשות שלא סוננו.
  • סשן שהושלם הוא סשן ניפוי באגים שהגיע לזמן קצוב לתפוגה או חרג מהספירה שלו. בסשן שהושלם לא מתבצעת יותר הקלטה של נתונים לגבי בקשות חדשות, והנתונים שלו נמחקים תוך 24 שעות מהזמן שבו הסשן הסתיים.

איך קוראים את תוצאות ניפוי הבאגים

בקטע הזה יש סקירה כללית של סשן ניפוי באגים.

מידע נוסף:

כלי הניפוי באגים מורכב משני חלקים עיקריים: חלונית העסקאות ופרטי השלב:

  • בחלונית העסקאות נעשה שימוש בסמלים כדי לסמן כל שלב חשוב שמתרחש במהלך עסקה של שרת proxy ל-API, כולל ביצוע מדיניות, שלבים מותנים ומעברים. מעבירים את העכבר מעל סמל כלשהו כדי לראות סיכום מידע. שלבי זרימת הבקשה מופיעים בחלק העליון של מפת העסקאות, ושלבי זרימת התגובה מופיעים בחלק התחתון.
  • בחלונית פרטי השלב מפורט מידע על העיבוד הפנימי של ה-proxy, כולל משתנים שהוגדרו או נקראו, כותרות של בקשות ותשובות ועוד. לוחצים על סמל כלשהו כדי לראות את פרטי השלב של אותו שלב.

חלונית העסקאות

בחלונית העסקאות מוצגים השלבים בבקשה ובתשובה.

זוהי דוגמה לחלונית של כלי לניפוי באגים עם פלחים של עיבוד הנתונים בשרת ה-proxy הראשי:

כדי לראות תמונה גדולה יותר, לוחצים עליה תרשים ניפוי באגים שמציג את השלבים הבאים: בקשת התחלת הפרוקסי > בקשת התחלת היעד > תגובת התחלת היעד > תגובת התחלת הפרוקסי > התחלת התהליך של שליחת בקשת POST מהפרוקסי ללקוח

מקרא של חלונית העסקאות

הסמלים בחלונית הטרנזקציות מתוארים בהמשך:

בקטע הזה מוסבר על הסמלים בחלונית העסקאות:

סמלי מדיניות

לכל סוג מדיניות יש סמל ייחודי. הסמלים האלה מאפשרים לראות איפה המדיניות מופעלת בסדר הנכון, ואם היא מופעלת בהצלחה או לא. אפשר ללחוץ על סמל מדיניות כדי לראות את תוצאות ההפעלה שלה, ואם הן צפויות או לא. לדוגמה, אפשר לראות אם ההודעה עברה טרנספורמציה כמו שצריך או אם היא נשמרת במטמון.

מדיניות סטנדרטית משפרת את ממשקי ה-API שלכם כדי לשלוט בתנועה, לשפר את הביצועים, לאכוף את האבטחה ולהגדיל את התועלת של ממשקי ה-API, בלי שתצטרכו לכתוב קוד או לשנות שירותי קצה עורפי.

מדיניות שניתנת להרחבה מאפשרת להוסיף לוגיקה בהתאמה אישית לשרתי ה-proxy של ה-API. אתם יכולים להשתמש במדיניות הזו כדי להוסיף פונקציונליות שלא מסופקת על ידי כללי המדיניות הרגילים.

מידע נוסף על מדיניות וקטגוריות זמין במאמר סקירה כללית של הפניות למדיניות.

כדי לסנן את הטבלה:

  • בוחרים סוג מדיניות אחד או קטגוריית מדיניות אחת.
  • לוחצים על כותרת העמודה שם כדי למיין את הטבלה לפי שם המדיניות.
  • מקלידים מילת מפתח כדי לחפש שם של מדיניות.

סוג המדיניות

קטגוריית מדיניות

סמל שם סוג קטגוריה
סמל המדיניות LLMTokenQuota מדיניות LLMTokenQuota ניתן להרחבה AI
chat_spark מדיניות PromptTokenLimit ניתן להרחבה AI
shield_spark SanitizeUserPrompt policy ניתן להרחבה AI
shield_spark מדיניות SanitizeModelResponse ניתן להרחבה AI
async מדיניות SemanticCacheLookup ניתן להרחבה AI
async SemanticCachePopulate policy ניתן להרחבה AI
manage_search מדיניות ParseDialogflowRequest ניתן להרחבה זרימת הדו-שיח
chat_add_on מדיניות SetDialogflowResponse ניתן להרחבה זרימת הדו-שיח
stacked_line_chart המדיניות בנושא איסוף נתונים ניתן להרחבה תוסף
display_external_input ExternalCallout policy רגילה תוסף
flowsheet מדיניות בנושא נכסי יתרונות מרכזיים של זרימת תנועה ניתן להרחבה תוסף
automation מדיניות IntegrationCallout ניתן להרחבה תוסף
סמל המדיניות JavaCallout מדיניות JavaCallout ניתן להרחבה תוסף
סמל מדיניות JavaScript מדיניות JavaScript ניתן להרחבה תוסף
add_notes מדיניות MessageLogging ניתן להרחבה תוסף
chat_paste_go מדיניות PublishMessage רגילה תוסף
סמל המדיניות של PythonScript המדיניות בנושא PythonScript ניתן להרחבה תוסף
integration_instructions מדיניות ServiceCallout ניתן להרחבה תוסף
automation SetIntegrationRequest policy ניתן להרחבה תוסף
waterfall_chart מדיניות TraceCapture ניתן להרחבה תוסף
cloud_done מדיניות AccessEntity ניתן להרחבה תהליך בחירת הרשת (Mediation)
account_tree מדיניות AsseretCondition רגילה תהליך בחירת הרשת (Mediation)
edit_square מדיניות AssignMessage ניתן להרחבה תהליך בחירת הרשת (Mediation)
login מדיניות ExtractVariables ניתן להרחבה תהליך בחירת הרשת (Mediation)
סמל המדיניות של GraphQL מדיניות GraphQL רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות HTTPModifier רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות JSONtoXML רגילה תהליך בחירת הרשת (Mediation)
account_tree מדיניות KeyValueMapOperations ניתן להרחבה תהליך בחירת הרשת (Mediation)
sync_alt MonetizationLimitsCheck policy ניתן להרחבה תהליך בחירת הרשת (Mediation)
cloud_done OASValidation policy רגילה תהליך בחירת הרשת (Mediation)
דיווח מדיניות RaiseFault רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות ReadPropertySet רגילה תהליך בחירת הרשת (Mediation)
cloud_done המדיניות SOAPMessageValidation רגילה תהליך בחירת הרשת (Mediation)
sync_alt מדיניות XMLtoJSON רגילה תהליך בחירת הרשת (Mediation)
cloud_done מדיניות XSLTransform ניתן להרחבה תהליך בחירת הרשת (Mediation)
נעילה מדיניות AccessControl רגילה אבטחה
אבטחה מדיניות BasicAuthentication ניתן להרחבה אבטחה
connect_without_contact מדיניות CORS רגילה אבטחה
נעילה מדיניות DecodeJWS ניתן להרחבה אבטחה
נעילה מדיניות DecodeJWT רגילה אבטחה
מפתח גישה מדיניות DeleteOAuthV2Info ניתן להרחבה אבטחה
נעילה מדיניות GenerateSamlAssertion ניתן להרחבה אבטחה
נעילה מדיניות GenerateJWS ניתן להרחבה אבטחה
נעילה מדיניות GenerateJWT ניתן להרחבה אבטחה
מפתח גישה מדיניות GetOAuthV2Info ניתן להרחבה אבטחה
נעילה מדיניות HMAC רגילה אבטחה
אבטחה מדיניות JSONThreatProtection ניתן להרחבה אבטחה
מפתח גישה מדיניות OAuthV2 ניתן להרחבה אבטחה
אבטחה מדיניות RegularExpressionProtection ניתן להרחבה אבטחה
מפתח גישה RevokeOAuthV2 policy ניתן להרחבה אבטחה
מפתח גישה מדיניות SetOAuthV2Info ניתן להרחבה אבטחה
נעילה ValidateSamlAssertion policy ניתן להרחבה אבטחה
key מדיניות VerifyAPIKey ניתן להרחבה אבטחה
מפתח גישה VerifyIAM policy ניתן להרחבה אבטחה
נעילה VerifyJWS policy ניתן להרחבה אבטחה
נעילה מדיניות VerifyJWT רגילה אבטחה
אבטחה מדיניות XMLThreatProtection ניתן להרחבה אבטחה
cached InvalidateCache policy ניתן להרחבה ניהול תנועה
cached המדיניות של LookupCache ניתן להרחבה ניהול תנועה
cached מדיניות PopulateCache ניתן להרחבה ניהול תנועה
סמל מדיניות המכסה מדיניות המכסות ניתן להרחבה ניהול תנועה
repartition מדיניות ResetQuota ניתן להרחבה ניהול תנועה
cached מדיניות ResponseCache ניתן להרחבה ניהול תנועה
emergency_home מדיניות SpikeArrest רגילה ניהול תנועה

סמלים אחרים

בטבלה הבאה מפורטות המשמעויות של הסמלים האחרים שיופיעו בחלונית העסקאות. הסמלים האלה מציינים כל אחד משלבי העיבוד הבולטים לאורך תהליך הפרוקסי.

כדי לסנן את הטבלה:

  • בוחרים סוג סמל.
  • לוחצים על כותרת העמודה שם כדי למיין את הטבלה לפי שם הסמל.
  • מקלידים מילת מפתח כדי לחפש שם של סמל.

סוג הסמל

סמל שם סוג תיאור
מעקב אפליקציית לקוח עסקה רגילה אפליקציית הלקוח ששולחת בקשה ל-ProxyEndpoint של ה-proxy ל-API.
circle נקודת קצה מעבר עסקה רגילה העיגול מסמן נקודות קצה מעבר בזרימת הנתונים של ה-proxy. הם נמצאים שם כשמתקבלת בקשה מהלקוח, כשהבקשה מועברת ליעד, כשהתגובה חוזרת מהיעד וכשהתגובה חוזרת ללקוח.
stat_0 פלח של רצף פעולות עסקה רגילה

המעוין מציין את תחילת מקטע של זרימה בזרימת ה-API proxy. פלחים של זרימה: בקשת ProxyEndpoint, בקשת TargetEndpoint, תגובת TargetEndpoint ותגובת ProxyEndpoint. פלח כולל את PreFlow,‏ Conditional Flows ו-PostFlow.

מידע נוסף זמין במאמר בנושא תהליכים מותנים.

סמל של תנאי שמתקיים התנאי בתהליך מתקיים עסקה רגילה

תהליך מותנה שהערך שלו הוא True (כמו הצהרת if שהערך שלה הוא true). מידע נוסף על תהליכים מותנים

שימו לב: חלק מהתנאים נוצרים על ידי Apigee. לדוגמה, הביטוי הבא משמש את Apigee כדי לבדוק אם אירעה שגיאה ב-ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

סמל של תנאי שקר תנאי בתהליך שמוחזרת לגביו התוצאה False עסקה רגילה

תהליך מותנה שהערך שלו הוא False. למבוא לתהליכים מותנים, ראו את המאמר תהליכים מותנים.

שימו לב: חלק מהתנאים נוצרים על ידי Apigee. לדוגמה, הביטוי הבא משמש את Apigee כדי לבדוק אם אירעה שגיאה ב-TargetEndpoint:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

סמל המידע על התהליך פרטי התהליך עסקה רגילה מייצג מידע הקשרי על ההרצה של proxy ל-API, שמשתנה בהתאם לנקודה בתהליך. המידע הזה כולל פרטים על הגדרת ה-proxy, מצב הביצוע הנוכחי (למשל, PreFlow,‏ PostFlow,‏ flow hooks), פרטי ביצוע המדיניות ומשתנים שאוכלסו במהלך ביצוע המדיניות, כדי לציין את המצב הספציפי של ה-proxy באותו שלב.
done_all ביצוע של תהליך עסקה רגילה התג מציין את ההתחלה או הסוף של ביצוע זרימה, ומציין את מסגרת הזמן של קטע זרימה נפרד, כדי להבחין חזותית בין גבולות הזרימה ולציין את רצף הביצוע של הזרימה.
commit עיבוד של תהליך עסקה רגילה מציין עיבוד פעיל ברצף פעולות, שמייצג את התקופה שבה מופעלים כללי מדיניות ולוגיקה של רצף פעולות.
bar_chart נתונים שתועדו בניתוח הנתונים של Apigee עסקה רגילה מציין שפעולות של Analytics התרחשו ברקע.
location_on שירות לקצה העורפי עסקה רגילה שירות קצה עורפי שמקבל את הבקשה. יעד הקצה העורפי שאליו מתבצעת הקריאה על ידי שרת ה-proxy ל-API.
סמל מושבת מושבת סטטוס השלב מופיע בסמל של מדיניות כשהמדיניות מושבתת. אפשר להשבית מדיניות באמצעות ה-API הציבורי. מידע נוסף זמין במאמר בנושא הפניית הגדרות של שרת proxy ל-API.
סמל שגיאה שגיאה סטטוס השלב מופיע בסמל של מדיניות כשתנאי לביצוע השלב של המדיניות מוערך כ-false (ראו תנאים עם משתני זרימה), או בסמל של מדיניות RaiseFault בכל פעם שמדיניות RaiseFault מופעלת.
סמל של דילוג דילגת על הפעולה סטטוס השלב מופיע בסמל מדיניות כשהמדיניות לא בוצעה כי תנאי לביצוע השלב הוגדר כ-false. מידע נוסף זמין במאמר תנאים עם משתני זרימה.

חלונית פרטי השלב

בחלונית הפרטים של השלב אפשר לראות את המצב של ה-proxy בכל שלב עיבוד.

בחלונית הפרטים של השלב אפשר לראות הרבה מידע על מצב ה-proxy בכל שלב עיבוד. הנה כמה מהפרטים שסיפקת. לוחצים על סמל כלשהו בכלי לניפוי באגים כדי לראות פרטים על השלב שנבחר, או משתמשים בלחצנים > הבא או < הקודם כדי לעבור משלב אחד לשלב אחר.

בטבלה הבאה מפורטים הפרטים שמוצגים בחלונית הפרטים של השלב.

פרטי השלב תיאור
משתנים

רשימה של משתני התהליך שנקראו והוקצה להם ערך על ידי מדיניות. ראו גם שימוש במשתני תהליך.

כותרות הבקשה רשימה של כותרות בקשות HTTP.
בקשה לתוכן הצגת גוף בקשת ה-HTTP.
מאפיינים מאפיינים מייצגים את המצב הפנימי של proxy ל-API. העמודות האלה לא מוצגות כברירת מחדל.
נקודת קצה של היעד מציין איזה TargetEndpoint נבחר להרצה.
כותרות תגובה רשימת כותרות התגובה של HTTP.
תוכן תגובה הצגת גוף תגובת ה-HTTP.

ציר הזמן

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

האות אפסילון (ε) מציינת פרק זמן קצר יותר מאלפית השנייה.

כדי לראות תמונה גדולה יותר, לוחצים עליה ציר זמן בממשק המשתמש של Debug v2

הרחבה וכיווץ של קבוצות

בקטע הזה מוסבר איך להרחיב ולכווץ קבוצות בחלונית העסקאות.

שלבי העסקה, גם לבקשה וגם לתגובה, מקובצים לפי האופן שבו הם הוגדרו קודם בכרטיסייה Develop, לפי זרימה משותפת. לדוגמה: pre-proxy, post-proxy, pre-target ו-post-target.

בכל קבוצה מוצגים בבירור כללי המדיניות הרלוונטיים, התנאים, התהליכים המשותפים ופרטי התהליך.

כברירת מחדל, הזרימות המשותפות מקובצות ומכווצות.

אלה הפעולות שאפשר לבצע בחלונית העסקאות:

פריט שם תיאור
הרחבת כל פס ההזזה
<img <="" alt="collapse all slider" class="screenshot" src="/static/apigee/docs/api-platform/debug/images/collapse_all_slider.png" td="" width="" />
הרחבת הכול
כיווץ הכול
הרחבה או כיווץ של כל הקבוצות.
סמל להרחבת הקבוצה
סמל כיווץ הקבוצה
הרחבה
כיווץ
הרחבה או כיווץ של קבוצה.

מידע נוסף:

החיפוש מאפשר לכם למצוא מילה או ביטוי בבקשה או בתשובה.

החיפוש מאפשר לכם למצוא מילה או ביטוי בבקשה או בתשובה.

שימו לב לנקודות הבאות:

  • החיפוש לא תלוי באותיות רישיות
  • החיפוש מתבצע על עסקה אחת בלבד, כלומר הוא לא מתבצע על כל העסקאות בסשן הניפוי באגים כולו.
  • החיפוש מרחיב קטעים מכווצים, אבל לא מציג מידע על צמתים שסוננו על ידי הבחירות ב אפשרויות התצוגה.

כדי לחפש:

  1. מקלידים טקסט בתיבת החיפוש.
  2. מקישים על Enter.

    תוצאות החיפוש מודגשות בחלונית הטרנזקציות ובחלונית פרטי השלב.

  3. לוחצים על keyboard_arrow_up הקודם או על keyboard_arrow_down הבא כדי לעבור לשלב הבא או הקודם.
כדי לראות תמונה גדולה יותר, לוחצים עליה תוצאות החיפוש בממשק המשתמש של Debug v2

Zoom

ב-Zoom אפשר לשלוט בתצוגה של חלונית הטרנזקציות.

הזום משפיע על התצוגה של חלונית העסקאות באופן הבא:

כדי לראות תמונה גדולה יותר, לוחצים עליה ניפוי באגים בכפתורי הגדלה והקטנה בגרסה 2
סמל תיאור
100% רמת הזום הנוכחית. ברירת המחדל היא 100%.
fit_screen התאמה לגודל המסך
zoom_in Zoom in – התקרבות
zoom_out Zoom out – התרחקות
youtube_searched_for איפוס הזום

ניפוי באגים באמצעות הכלי לניפוי באגים

באמצעות ניפוי הבאגים אפשר לראות הרבה פרטים פנימיים על proxy ל-API. לדוגמה:

  • תוכלו לראות במבט חטוף אילו כללי מדיניות מופעלים בצורה תקינה או נכשלים.
  • נניח שבאחת מלוחות הבקרה של Analytics שמתייחסים לאחד מממשקי ה-API שלכם, הבחנתם בירידה חריגה בביצועים. עכשיו אפשר להשתמש בכלי לניפוי באגים כדי לזהות את צוואר הבקבוק. במאפיין Debug מוצג הזמן, באלפיות השנייה, שנדרש להשלמת כל שלב עיבוד. אם אתם רואים ששלב מסוים נמשך יותר מדי זמן, אתם יכולים לבצע פעולת תיקון.
  • אתם יכולים לבדוק את הכותרות שנשלחות אל ה-backend, לראות את המשתנים שמוגדרים על ידי כללי המדיניות וכו'.
  • אימות נתיב הבסיס מאפשר לוודא שהמדיניות מנתבת את ההודעה לשרת הנכון.

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

כשיוצרים סשן ניפוי באגים, אפשר להוסיף לו מסנן כדי שמערכת Apigee תחזיר רק את הנתונים שרוצים. מסנן הוא הצהרה מותנית ש-Apigee מעריך ביחס להודעות בקשה ותגובה כדי לקבוע אם נתוני הניפוי שלו צריכים להיכלל בסשן הניפוי. לדוגמה, אפשר לסנן את כל הבקשות עם קוד תגובה של HTTP שקטן מ-599, או להשוות ערכים בבקשה למשתנים מותאמים אישית.

שימו לב לנקודות הבאות:

  • בקשות שלא נכללות בסשן ניפוי הבאגים כי הן מסוננות לא נספרות במסגרת המספר המקסימלי של טרנזקציות בסשן ניפוי הבאגים.
  • ‫Apigee לא תומך בהוספת מסננים במחרוזת השאילתה.
  • אי אפשר להוסיף מסנן לסשן ניפוי באגים אחרי שהסשן מתחיל. כדי להוסיף מסנן, צריך ליצור סשן ניפוי באגים.

שימוש במסננים

כדי ליצור סשן ניפוי באגים באמצעות ממשק המשתמש או ה-API של Apigee, צריך להשתמש במסנן כמו שמתואר בקטעים הבאים.

ממשק המשתמש של Apigee

כשיוצרים סשן ניפוי באגים בממשק המשתמש, אפשר לבחור מסנן מוגדר מראש מהרשימה הנפתחת Filters כדי להחיל אותו בחלונית Start a debug session, או לבחור באפשרות Custom Filter וליצור מסנן משלכם באמצעות תחביר המסנן.

API

כדי ליצור סשן ניפוי באגים עם מסנן באמצעות ה-API, צריך לכלול את המידע הבא כמטען ייעודי (payload) בבקשה ליצירת סשן ניפוי באגים:

{
  "filter":"filter_body"
}

מידע על בניית מסננים מופיע במאמר בנושא תחביר של מסננים.

בדוגמה הבאה נוצר סשן של ניפוי באגים שכולל רק טרנזקציות שבהן הכותרת A שווה ל-42 והכותרת B שווה ל-43, או שקוד השגיאה הוא ExpectedEOF:

curl -H "Authorization: Bearer $TOKEN" -X "POST"
  https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions
  -d ' {
    "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'"
  } '

אפשר להגדיר מסנן רק בבקשות ליצירת סשן ניפוי באגים. אי אפשר להוסיף מסנן לסשן ניפוי באגים קיים, ואי אפשר להסיר מסנן מסשן ניפוי באגים פעיל.

תחביר של מסננים

המסננים תומכים באותו תחביר שמשמש בתנאים של Apigee, כפי שמתואר במאמר הפניה לתנאים. למשל:

בנוסף, המסננים יכולים לגשת לכל משתני התהליך שמתוארים בהפניה למשתני התהליך, וגם למשתנים מותאמים אישית. בדוגמאות הבאות מוצגים רק חלק מהמשתנים האפשריים של זרימת העבודה שאפשר להשתמש בהם במסננים:

# Response codes:
  response.status.code <= 599
  response.status.code >=301 && response.status.code <=420

# Requests/responses:
  request.verb == "GET"
  request.header.A == 'B' || request.queryparam.X == 'Y'

# Query parameters:
  request.queryparam.myparam == 'fish'
  (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z'

# Faults:
  fault.code != 'messaging.runtime.RouteFailed'
  fault.name == 'IPDeniedAccess'

מידע על השימוש במשתנים מותאמים אישית זמין במאמר How to use custom attributes in Apigee (איך משתמשים במאפיינים מותאמים אישית ב-Apigee) בקהילת Apigee.

מסננים מוגדרים מראש בממשק המשתמש

ממשק המשתמש של Apigee מספק קבוצה של מסננים נפוצים, כך שלא צריך לכתוב מסננים מותאמים אישית. בטבלה הבאה מפורטים המסננים המוגדרים מראש.

שם המסנן תיאור
Response Time Greater Than

בודקת בעיות שקשורות לזמן טעינה במקרים הבאים:

  • target.duration הוא זמן האחזור של היעד, או משך הזמן באלפיות השנייה שנדרש לשליחת בקשה ליעד ולקבלת תשובה ממנו (מחושב כהפרש בין target.received.end.timestamp לבין target.sent.start.timestamp)
  • client.duration הוא זמן האחזור של הלקוח, או משך הזמן באלפיות השנייה שנדרש לשליחת בקשה מהלקוח ולקבלת תשובה ממנו (מחושב כהפרש בין client.received.end.timestamp לבין client.sent.start.timestamp)

לדוגמה:

target.duration > 420 && client.duration > 1000

מידע נוסף זמין במאמר Flow variables reference (חומר עזר בנושא משתני זרימה) בקטעים client ו-target.

Response Code

הפונקציה בודקת אם קוד התגובה של HTTP תואם לערך שצוין. לדוגמה:

response.status.code <= 599
Header

הפונקציה בודקת אם כותרת הבקשה שצוינה שווה לערך שצוין. לדוגמה:

request.header.cache-control.1 == "16544"
Path

הפונקציה בודקת אם הבקשה תואמת לנתיב שצוין. אפשר להשתמש בהתאמה של תו כללי לחיפוש בערך, לדוגמה:

request.path == /myproxy/customer/4*
Query Param

הפונקציה בודקת אם פרמטר השאילתה שצוין בבקשה שווה לערך שצוין. לדוגמה:

request.queryparam.lang == "language:en-us"
Custom

מאפשר להוסיף ביטויים משלכם. אפשר להשתמש בכל האובייקטים בהפניה למשתני Flow ובסוגריים המרובעים בהפניה לתנאים. בנוסף, אפשר להשתמש במשתנים מותאמים אישית.

מידע נוסף על יצירת מסננים בהתאמה אישית זמין במאמר בנושא תחביר של מסננים.

 

צפייה בסשנים של ניפוי באגים

מערכת Apigee שומרת את נתוני סשן ניפוי הבאגים למשך 24 שעות. אי אפשר להגדיר את הערך הזה. אחרי 24 שעות, הנתונים לא יהיו זמינים יותר. עד אז, תוכלו לראות את סשני ניפוי הבאגים.

אפשר להציג סשנים של ניפוי באגים מהזמן האחרון באמצעות ממשק המשתמש או ה-API של Apigee, כמו שמתואר בקטעים הבאים.

ממשק המשתמש של Apigee

כדי להציג סשנים של ניפוי באגים באמצעות Google Cloud המסוף

  1. במסוף Google Cloud , נכנסים לדף Proxy development > API Proxies.

    מעבר אל API Proxies

  2. לוחצים על ה-proxy שרוצים לנפות בו באגים.
  3. לוחצים על הכרטיסייה ניפוי באגים.
  4. בקטע Recent debug sessions (הפעלות ניפוי באגים מהזמן האחרון) מוצגת רשימה של הפעלות ניפוי באגים שזמינות.
  5. לוחצים על הקישור של הסשן שרוצים לראות.

API

באמצעות ה-API, אפשר:

הצגת כל סשני הניפוי באמצעות ה-API

כדי להציג את כל סשני הניפוי באגים האחרונים שהוגדרו לגרסה של proxy ל-API בסביבה מסוימת, שולחים בקשת GET למשאב הבא:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions

אופציונלי, אפשר לציין אחד מהפרמטרים הבאים של השאילתה כדי לשלוט בכמות הנתונים שמוחזרים:

  • pageSize: המספר המקסימלי של סשנים לניפוי באגים שיוצגו ברשימה. גודל הדף מוגדר כברירת מחדל ל-25.
  • pageToken: טוקן של דף שהוחזר מקריאה קודמת, שאפשר להשתמש בו כדי לאחזר את הדף הבא.

בדוגמה הבאה אפשר לראות איך צופים בסשנים של ניפוי באגים בגרסה 1 של proxy ל-API של helloworld בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \
-X GET \
-H "Authorization: Bearer $TOKEN"

$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

התשובה כוללת אובייקט sessions שמכיל רשימה של סשנים פעילים של ניפוי באגים, כמו בדוגמה הבאה:

{
"sessions": [
{
"id": "a423ac73-0902-4cfa-4242-87a353a84d87",
"timestamp_ms": 1566330186000
},
{
"id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a",
"timestamp_ms": 1566330286000
}
]
}

התגובה כוללת רק סשנים של ניפוי באגים שמכילים לפחות עסקה אחת. סשנים של ניפוי באגים שלא מכילים עסקאות לא נכללים ברשימה הזו.

מידע נוסף זמין במאמר List Debug sessions API.

הצגת כל העסקאות בסשן ניפוי באגים באמצעות ה-API

כדי לראות רשימה של עסקאות בסשן ניפוי באגים, שולחים בקשת GET למשאב הבא:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

כאשר debugsession הוא המזהה של סשן ניפוי הבאגים שמוחזר כשמציגים את סשנים ניפוי הבאגים.

בדוגמה הבאה מוסבר איך לראות את העסקאות בסשן ניפוי באגים בגרסה 1 של helloworld API בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
-X GET \
-H "Authorization: Bearer $TOKEN"

$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

התשובה כוללת מערך של מזהי עסקאות, כמו בדוגמה הבאה:

[
"myorg-test-ver-5qxdb-64",
"myorg-test-ver-5qxdb-65",
"myorg-test-ver-5qxdb-66",
"myorg-test-ver-5qxdb-67",
"myorg-test-ver-5qxdb-68",
"myorg-test-ver-5qxdb-69",
"myorg-test-ver-5qxdb-70",
"myorg-test-ver-5qxdb-71",
"myorg-test-ver-5qxdb-72"
]

מידע נוסף מופיע במאמר List debug session data API.

הצגת נתוני טרנזקציות בסשן ניפוי באגים באמצעות ה-API

כדי להציג נתוני עסקאות של סשן ניפוי באגים, שולחים בקשת GET למשאב הבא:

https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}

debugsession הוא המזהה של סשן ניפוי הבאגים שמוחזר כשמציגים את סשני ניפוי הבאגים, ו-transactionId הוא מזהה העסקה שמוחזר כשמציגים רשימה של עסקאות בסשן ניפוי הבאגים.

נתוני העסקאות שנשמרים במהלך הפעלת ניפוי באגים מעוצבים בפורמט JSON. אפשר לטעון את הנתונים האלה בכלי לניפוי באגים במצב אופליין.

בדוגמה הבאה אפשר לראות איך מורידים את נתוני העסקאות של סשן ניפוי באגים בגרסה 1 של helloworld API בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \
-X GET \
-H "Authorization: Bearer $TOKEN"

$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

התגובה מורכבת ממטען ייעודי (payload) בפורמט JSON שמכיל את הנתונים של העסקה שצוינה, כפי שמתואר במבנה הנתונים להורדה.

נתוני הניפוי באגים מכילים את כל המידע על הבקשה והתגובה לכל חלק בתהליך בפורמט JSON קנייני. אפשר לשמור את הנתונים האלה ולהשתמש בהם מאוחר יותר בכלי לניפוי באגים במצב אופליין.

אם לא נוספו בקשות לסשן לפני שהוא הסתיים, התשובה תיראה כך:

[]

מידע נוסף זמין במאמר בנושא קבלת נתונים של סשן ניפוי באגים באמצעות API.

בחירת אפשרויות תצוגה בממשק המשתמש

בקטע הזה מוסבר איך לבחור אפשרויות תצוגה כדי לסנן את מה שמוצג בממשק המשתמש.

כדי לבחור את אפשרויות התצוגה של סשן הניפוי באגים, מסמנים או מבטלים את הסימון של האפשרויות בחלונית אפשרויות תצוגה. אפשרויות התצוגה האלה נשמרות לכל משתמש בין סשנים של ניפוי באגים.

כדי לראות תמונה גדולה יותר, לוחצים עליה הצגת רשימת האפשרויות
אפשרות תיאור
הצגת מדיניות מושבתת הצגת כל כללי המדיניות המושבתים. אפשר להשבית מדיניות באמצעות ה-API הציבורי. מידע נוסף זמין במאמר בנושא הפניית הגדרות של שרת proxy ל-API.
הצגת מדיניות שהמערכת דילגה עליה הצגת כל כללי המדיניות שדילגו עליהם. מדיניות שדילגו עליה מתרחשת כשהמדיניות לא מופעלת כי התנאי לביצוע השלב הוערך כ-False. מידע נוסף זמין במאמר תנאים עם משתני זרימה.
הצגת כל פרטי הזרימה מייצגים מעברים בתוך פלח של זרימת נתונים.
הצגת כל התנאים של הזרימה מייצג את התנאים שנבדקו בכל תהליך.

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

אפשר לשתף סשן ניפוי באגים עם משתמשים אחרים שיש להם גישה לארגון והרשאות נדרשות. כדי לעשות זאת, פשוט שולחים להם את כתובת ה-URL שמוצגת בדפדפן כשמציגים את סשן הניפוי באגים. הקישור תקף רק ל-24 שעות אחרי יצירת סשן הניפוי באגים.

הורדת נתוני סשן של ניפוי באגים

אפשר להוריד קובץ של תוצאות ניפוי באגים גולמיות לצפייה אופליין. בקובץ שהורד מוצגים הפרטים המלאים של סשן הניפוי באגים, כולל התוכן של כל הכותרות, המשתנים והכללים.

נתונים של סשן ניפוי באגים זמינים להורדה או לצפייה בממשק למשך 24 שעות בלבד. אחרי הנקודה הזו, נתוני הסשן נמחקים על ידי Apigee.

כדי לראות את הנתונים של סשן ניפוי הבאגים שהורדו, משתמשים בכלי לניפוי באגים במצב אופליין.

ממשק המשתמש של Apigee

כדי להוריד את סשן ניפוי הבאגים הנוכחי במסוף Google Cloud , לוחצים על הורדה בתצוגת ניפוי הבאגים.

API

כדי להציג את המזהים של כל העסקאות בסשן הנוכחי של ניפוי הבאגים באמצעות Apigee API, מזינים את הפקודה הבאה:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data

כאשר SESSION_ID הוא המזהה של סשן הניפוי באגים שרוצים להוריד.

אפשר לעיין במאמר בנושא הצגת מזהי העסקאות מתוך סשן ניפוי באגים.

כדי לקבל את נתוני הניפוי באגים של עסקה באמצעות Apigee API, מזינים את הפקודה הבאה:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID

הורדת מבנה הנתונים

מבנה ההורדה של נתוני סשן ניפוי הבאגים שונה בממשק המשתמש של Apigee וב-Apigee API.

ממשק המשתמש של Apigee

כשמורידים נתונים באמצעות ממשק המשתמש של Apigee, מבנה הנתונים:

  • כולל את כל העסקאות בסשן כולו
  • שמירת העסקאות במערך Messages
  • כולל מטא-נתונים על הסשן (כאובייקט DebugSession)

API

אי אפשר להשתמש ב-Apigee API כדי להציג את הנתונים של סשן שלם בבת אחת. אפשר להשתמש ב-API רק כדי להציג נתונים של טרנזקציות בודדות, כמו שמתואר במאמר הצגת סשנים של ניפוי באגים.

לדוגמה:

{
"completed": true,
"point": [
  ...
...
}

הורדת דוגמאות לנתונים

בדוגמה הבאה אפשר לראות אובייקט מטא-נתונים DebugSession בנתונים שהורדו. אחרי האובייקט הזה מופיע המערך Messages שמכיל את העסקאות בסשן.

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
  "Messages": [
    {
      "completed": true,
      "point": [
        {
          "id": "Paused"
        },
        {
          "id": "Resumed"
        },
        {
          "id": "StateChange",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "To",
                    "value": "REQ_HEADERS_PARSED"
                  },
                  {
                    "name": "From",
                    "value": "REQ_START"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            },
            {
              "ActionResult": "RequestMessage",
              "headers": [
                {
                  "name": "accept",
                  "value": "*/*"
                },
                {
                  "name": "accept-encoding",
                  "value": "gzip,gzip,deflate,br"
                },
                {
                  "name": "content-length",
                  "value": "0"
                },
                {
                  "name": "host",
                  "value": "myorg.example.domain.net"
                },
                {
                  "name": "user-agent",
                  "value": "Google-Apigee"
                },
                {
                  "name": "x-b3-sampled",
                  "value": "0"
                },
                {
                  "name": "x-b3-spanid",
                  "value": "d4ee579206759662"
                },
                {
                  "name": "x-b3-traceid",
                  "value": "adc1e171777c237dd4ee579206759662"
                },
                {
                  "name": "x-forwarded-for",
                  "value": "66.102.8.98"
                },
                {
                  "name": "x-forwarded-proto",
                  "value": "https"
                },
                {
                  "name": "x-request-id",
                  "value": "54e05cba-4242-4490-4242-60c45c156f90"
                }
              ],
              "uRI": "/myproxy",
              "verb": "GET"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "environment.name",
                    "value": "prod"
                  },
                  {
                    "name": "environment.qualifiedname",
                    "value": "myorg__prod"
                  },
                  {
                    "name": "environment.orgname",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "organization.name",
                    "value": "myorg"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        {
          "id": "FlowInfo",
          "results": [
            {
              "ActionResult": "DebugInfo",
              "properties": {
                "property": [
                  {
                    "name": "apiproxy.qualifiedname",
                    "value": "myproxy__1"
                  },
                  {
                    "name": "apiproxy.basepath",
                    "value": "/"
                  },
                  {
                    "name": "apiproxy.revision",
                    "value": "1"
                  },
                  {
                    "name": "apiproxy.name",
                    "value": "myproxy"
                  }
                ]
              },
              "timestamp": "8-6-19 13:08:37:718"
            }
          ]
        },
        ...
      ...
    }
  ]
}

אם סשן הניפוי באגים לא כלל בקשות, המערך Message יהיה ריק, כמו בדוגמה הבאה:

{
  "DebugSession": {
    "Retrieved": "2019-06-08T13:08:13.395Z",
    "Organization": "myorg",
    "Environment": "prod",
    "API": "myproxy",
    "Revision": "1",
    "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
  },
"Messages": []
}

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

כדי למחוק נתונים של סשן ניפוי באגים, משתמשים בממשק המשתמש או ב-API של Apigee, כמו שמתואר בקטעים הבאים.

ממשק המשתמש של Apigee

כדי למחוק הפעלה של ניפוי באגים במסוף Google Cloud :

  1. בכרטיסייה Debug, לוחצים על השורה של הסשן שרוצים למחוק.
  2. בחלונית Debug session, לוחצים על Delete.

API

כדי למחוק את כל נתוני סשן הניפוי באמצעות ה-API, שולחים בקשת DELETE למשאב הבא:

https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data

כאשר debugsession הוא המזהה של סשן ניפוי באגים שהוחזר כשמציגים סשנים של ניפוי באגים.

בדוגמה הבאה מוצג איך למחוק נתונים של סשן ניפוי באגים בגרסה 1 של helloworld API בסביבת test.

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.

אם הביצוע יהיה תקין, גוף התגובה יהיה ריק.

נתוני סשן ניפוי הבאגים נשמרים למשך 24 שעות בלבד. אם לא תמחקו אותו באופן מפורש לפני הזמן הזה, Apigee תמחק אותו בשבילכם.