בעזרת Cloud Trace אתם יכולים לנתח את ההתנהגות והביצועים של אפליקציות מבוססות-סוכנים שקוראות לשרתי MCP מרוחקים של Google Cloud. אתם יכולים להגדיר את האפליקציה כך שתתעד הנחיות, תשובות והפעלות של שיטות, בזמן ששרתי MCP מרוחקים יוצרים טווחי זמן לקריאות לכלים. מעקב מתעד את הפעולה מקצה לקצה כדי להציג את רצפי הקריאות ואת זמן האחזור הכולל, וטווחים נפרדים מספקים פרטים על הסטטוס והתזמון של פונקציות ספציפיות.
מידע על הכלים
כלים מאפשרים לנציג לאסוף מידע מחוץ לנתוני האימון שלו, בדרך כלל באמצעות אינטראקציה עם ממשקי API חיצוניים. באמצעות שרתי MCP של Google Cloud, האפליקציות מבוססות-הסוכנים יכולות להפעיל כלים שמפעילים שיטות API של Google Cloud . לדוגמה, האפליקציה יכולה להפעיל את הכלי list_log_entries כדי לאחזר נתונים מהיומן.
Model Context Protocol (MCP) הוא מפרט שמגדיר דרך סטנדרטית שבה סוכני AI יכולים לתקשר ולקיים אינטראקציה עם כלים, מקורות נתונים ומשאבים חיצוניים. במאמר מוצרים נתמכים מופיעה רשימה מלאה של מוצרים שמספקים שרת MCP, וקישורים למאמרי העזרה שלהם.
איך הקשר יומן המעקב מועבר לשרת MCP
בדפי העזרה של MCP, כמו המאמר בנושא list_log_entries, יש דוגמה לפקודת curl שאפשר להשתמש בה כדי לשלוח בקשות HTTP לכלי. מטען הייעודי (payload) של ה-JSON שנשלח בבקשה דומה לזה:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "NAME",
"arguments": {
// provide these details according to the tool's MCP specification
}
},
"id": 1
}
הערך של השדה name מפרט את שם הכלי, למשל list_log_entries.
השדה arguments מכיל את המידע שנדרש לפעולה כדי להשלים את הבקשה.
תקן MCP מגדיר שדה _meta, שמאפשר ללקוחות ולשרתים לצרף מטא-נתונים לאינטראקציות שלהם. לקוחות ושרתים יכולים להשתמש בשדה הזה כדי להעביר את הקשר יומן המעקב:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "NAME",
"arguments": {
// provide these details according to the tool's MCP specification
},
"_meta": {
"traceparent": "00-TRACE_ID-PARENT_SPAN_ID-SAMPLED_FLAG",
"tracestate": "Vendor specific information."
},
},
"id": 1
}
הנתונים של _meta כוללים את השדה traceparent. הפורמט של הערך בשדה הזה מוגדר על ידי הכותרת traceparent של World Wide Web Consortium (W3C). הערך כולל את:
- גרסת המפרט של
traceparent (00). - מזהה המעקב (TRACE_ID).
- המזהה של ה-span ששלח קריאה (PARENT_SPAN_ID).
- האם ה-span ששלח את הקריאה דגם את הבקשה (SAMPLED_FLAG). הערך של השדה הזה הוא
01אם הבקשה נדגמה, ו-00אם היא לא נדגמה.
השדה tracestate מכיל מידע מעקב ספציפי לספק.
מגבלות
הקשר יומן מעקב חייב לעמוד בתקן W3C Trace Context, והדגל
sampledחייב להיות מוגדר ל-1.שרתי MCP מרוחקים של Google Cloud יכולים ליצור span אחד לפעולת
tools/call, אבל הם לא יוצרים spans לסוגים אחרים של פעולות או spans צאצאים לפעולתtools/call.שרתי MCP מרוחקים של Google Cloud יוצרים span רק כשהבקשה מאומתת, מורשית ועוברת בדיקות פנימיות אחרות.
שרתי MCP שתומכים במעקב
בחלק הזה מפורטים שרתי Google ו- Google Cloud המרוחקים שתומכים במעקב. בנוסף, מוסבר איך שרתי MCP באירוח עצמי יכולים ליצור טווחי מעקב.
שרתים באירוח עצמי
מומלץ להגדיר את שרתי ה-MCP באירוח עצמי כך שישלחו נתוני טלמטריה לפרויקט ב- Google Cloud .
אם אתם משתמשים ב-Python, האינסטרומנטציה יכולה ליצור spans לפעולות של tools/call. מידע נוסף זמין במאמר הוספת כלים לשרת MCP באירוח עצמי באמצעות OpenTelemetry.
שרתים מרוחקים של Google ו- Google Cloud שרתי MCP שתומכים במעקב
המוצרים הבאים כוללים שילוב שמאפשר לשרת ה-MCP המרוחק שלהם ליצור טווח מעקב לפעולת tools/call:
הגדרת האפליקציה
אפשר להשתמש בכל framework או SDK שמעבירים את הקשר יומן המעקב באמצעות השדה _meta. המסגרות וערכות ה-SDK האלה כוללות את אלה שתומכות ב-OpenTelemetry Semantic Conventions for MCP.
לדוגמה, אתם יכולים להשתמש במסגרת של הערכה לפיתוח סוכנים (ADK). מידע נוסף זמין במאמר שדרוג אפליקציות ADK באמצעות OpenTelemetry.
הצגת טווחים
כדי לראות את נתוני המעקב, משתמשים ב-Trace Explorer. בדף הזה אפשר לראות מידע נצבר על נתוני המעקב, ולבחון מעקבים וטווחים ספציפיים. למידע נוסף, קראו את המאמר חיפוש ועיון במעקבים.
כדי לראות את הטווחים שנוצרו על ידי שרתי MCP, סננו את נתוני המעקב לפי שם הטווח. לדוגמה, חלק משרתי ה-MCP המרוחקים של Google Cloud יכולים ליצור טווח מעקב כשהם מקבלים פעולת tools/call. השמות של ה-spans האלה נבנים לפי המוסכמה הבאה:
tools/call NAME
בביטוי הקודם, NAME מתייחס לכלי שהופעל, למשל list_keys. מוסכמת מתן השמות הזו מוגדרת במוסכמות הסמנטיות של OpenTelemetry ל-MCP.
כדי למצוא את הטווחים האלה, משתמשים בסרגל הסינון ומוסיפים מסנן מאפיינים ל-mcp.method.name. מגדירים את ערך המסנן בתור tools/call. מידע מפורט על השלבים האלה זמין במאמר הצגת קריאות לשרתי MCP מרוחקים.
דוגמאות לאינסטרומנטציה
במאמר בחירת גישה למדידת ביצועים מפורטות המלצות למדידת ביצועים.
הדוגמאות למדידת ביצועים שאנחנו מספקים משתמשות ב-OpenTelemetry:
דוגמאות לייצוא מבוסס-אוסף:
הדוגמאות האלה שולחות לפרויקט נתוני יומנים, מדדים ומעקבים בפורמט של פרוטוקול OpenTelemetry (OTLP) באמצעות Telemetry API.
במאמר מעבר מייצוא של נתוני מעקב לנקודת הקצה של OTLP מוסבר איך לייצא ישירות נתוני מעקב ולשלוח אותם ל-Telemetry API.
במאמר יכולת תצפית למפתחי סוכני AI מוסבר איך להגדיר אפליקציה מבוססת-סוכן לאיסוף הנחיות ותשובות.