בעזרת Cloud Trace אתם יכולים לנתח את ההתנהגות והביצועים של אפליקציות מבוססות-סוכנים ששולחות קריאות לשרתי MCP מרוחקים של Google Cloud. אתם יכולים להגדיר את האפליקציה כך שתתעד הנחיות, תשובות וקריאות ל-method, בזמן ששרתי MCP מרוחקים יוצרים span לקריאות API לכלי. מעקב מתעד את הפעולה מקצה לקצה כדי להציג רצפי קריאות ואת זמן האחזור הכולל, וטווחים נפרדים מספקים פרטים על הסטטוס והתזמון של פונקציות ספציפיות.
מידע על הכלים
כלים מאפשרים לנציג לאסוף מידע מחוץ לנתוני האימון שלו, בדרך כלל באמצעות אינטראקציה עם ממשקי 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).
- אם הטווח הקורא דגם את הבקשה (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 באירוח עצמי יכולים ליצור טווחי מעקב.
שרתים באירוח עצמי
מומלץ להגדיר את שרתי ה-MCP באירוח עצמי כך שישלחו נתוני טלמטריה לפרויקט ב- Google Cloud .
אם אתם משתמשים ב-Python, האינסטרומנטציה יכולה ליצור span לפעולות של tools/call. מידע נוסף זמין במאמר הוספת כלים לשרת MCP באירוח עצמי באמצעות OpenTelemetry.
שרתי Google ו- Google Cloud MCP מרוחקים שתומכים במעקב
המוצרים הבאים כוללים שילוב שמאפשר לשרת ה-MCP המרוחק שלהם ליצור טווח מעקב לפעולת tools/call:
הגדרת האפליקציה
אפשר להשתמש בכל framework או SDK שמעבירים את הקשר יומן המעקב באמצעות השדה _meta. המסגרות וערכות ה-SDK האלה כוללות את אלה שתומכות במוסכמות הסמנטיות של OpenTelemetry ל-MCP.
לדוגמה, אתם יכולים להשתמש במסגרת של ערכת הפיתוח לסוכנים (ADK). מידע נוסף זמין במאמר שדרוג אפליקציות ADK באמצעות OpenTelemetry.
הצגת טווחי זמן
כדי לראות את נתוני המעקב, משתמשים ב-Trace Explorer. בדף הזה אפשר לראות מידע נצבר על נתוני המעקב, ולבחון מעקבים וטווחים ספציפיים. מידע נוסף זמין במאמר חיפוש ועיון במעקבים.
כדי לראות את הטווחים שנוצרו על ידי שרתי MCP, סננו את נתוני המעקב לפי שם הטווח. לדוגמה, חלק משרתי ה-MCP המרוחקים של Google Cloud יכולים ליצור טווח מעקב כשהם מקבלים פעולת tools/call. השמות של הטווחים האלה נבנים לפי המוסכמה הבאה:
tools/call NAME
בביטוי הקודם, NAME מתייחס לכלי שהופעל, לדוגמה list_keys. מוסכמת מתן השמות הזו מוגדרת במוסכמות הסמנטיות של OpenTelemetry ל-MCP.
כדי למצוא את הטווחים האלה, משתמשים בסרגל הסינון ומוסיפים מסנן מאפיינים ל-mcp.method.name. מגדירים את ערך המסנן בתור tools/call. מידע מפורט על השלבים האלה זמין במאמר הצגת קריאות לשרתי MCP מרוחקים.
דוגמאות לאינסטרומנטציה
במאמר בחירת גישה למדידת ביצועים מפורטות המלצות למדידת ביצועים.
דוגמאות למכשור שאנחנו מספקים משתמשות ב-OpenTelemetry:
דוגמאות לייצוא מבוסס-אוסף:
הדוגמאות האלה שולחות לפרויקט נתוני יומנים, מדדים ומעקבים בפורמט של פרוטוקול OpenTelemetry (OTLP) באמצעות Telemetry API.
במאמר מעבר מייצוא של נתוני מעקב לנקודת הקצה של OTLP מוסבר איך לייצא ישירות נתוני מעקב ולשלוח אותם ל-Telemetry API.
במאמר יכולת תצפית למפתחי סוכני AI מוסבר איך להגדיר אפליקציה מבוססת-סוכן לאיסוף הנחיות ותשובות.