תיאורים של מדדים בצד הלקוח
מדדים מצד הלקוח זמינים לכמה ספריות לקוח של Bigtable. בדף הזה מופיע תיאור מפורט של כל מדד בצד הלקוח.
בשפות Go, C++ ו-Node.js, המדדים האלה מופעלים כברירת מחדל בגרסאות הנתמכות. בספריות הלקוח של Java, המדדים זמינים כהסכמה להצטרפות או כברירת מחדל, בהתאם לגרסה של ספריית הלקוח. מידע על הגרסאות הספציפיות זמין בקטע 'תמיכה בספריית לקוח' של כל מדד.
במאמר הגדרת מדדים בצד הלקוח מוסבר איך מגדירים ומגדירים מדדים בצד הלקוח. סקירה כללית זמינה במאמר סקירה כללית על מדדים מצד הלקוח.
המדדים מתפרסמים באזור של אשכול Bigtable שאליו הם מתייחסים. אם Bigtable לא מצליח לזהות את האשכול עבור מדד מסוים, למשל כשפעולה נכשלת, המדד מתפרסם באזור הגלובלי והתג cluster מקבל את הערך unspecified.
כדי לנפות באגים בביצועים, כדאי להשתמש במדדים בצד הלקוח יחד עם מדדים בצד השרת. רשימה מקיפה של מדדים בצד השרת ובצד הלקוח של Bigtable זמינה במאמר בנושא מדדים.
זמני האחזור של פעולות
בטבלה הבאה מוצגים המאפיינים והפרטים של מדד השהיות של הפעולה.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/operation_latencies |
| הגדרה | החביון הכולל מקצה לקצה בכל הניסיונות של RPC שמשויכים לפעולה ב-Bigtable. המדד הזה מודד את זמן ההלוך ושוב של פעולה מהלקוח אל Bigtable ובחזרה ללקוח, וכולל את כל הניסיונות החוזרים. במקרה של ReadRows בקשות, זמני האחזור של הפעולה כוללים את זמן העיבוד של האפליקציה לכל הודעה שמוחזרת. |
| פעולות נתמכות ב-Bigtable |
|
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מוצגות גרסאות המינימום של ספריות הלקוח שנדרשות לשימוש במדד של זמן האחזור של פעולות.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.27.0 | ||
| Node.js | 6.2.0 (פעולות ReadRows ו-ReadRow), 6.3.0 (פעולות אחרות) |
||
| C++ | 2.40.0 | ||
זמני האחזור של הניסיונות
בטבלה הבאה מוצגים המאפיינים והפרטים של מדד השהיות של הניסיון.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/attempt_latencies |
| הגדרה | זמני האחזור של ניסיון RPC של לקוח. בדרך כלל, הערך הזה זהה לערך של operation_latencies. אם הלקוח מקבל שגיאות זמניות, operation_latencies הוא סכום כל הערכים של attempt_latencies והעיכובים האקספוננציאליים. |
| פעולות נתמכות ב-Bigtable |
|
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מוצגות הגרסאות המינימליות של ספריות הלקוח שנדרשות לשימוש במדד של זמן האחזור של הניסיון.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.27.0 | ||
| Node.js | 6.2.0 (פעולות ReadRows ו-ReadRow), 6.3.0 (פעולות אחרות) |
||
| C++ | 2.40.0 | ||
מספר הניסיונות החוזרים
בטבלה הבאה מוצגים המאפיינים והפרטים של מדד מספר הניסיונות החוזרים.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/retry_count |
| הגדרה | מונה שמתעד את מספר הניסיונות שנדרשו להשלמת פעולה. בנסיבות רגילות, הערך הזה ריק. |
| פעולות נתמכות ב-Bigtable |
|
| סוג | INT64 |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מוצגות הגרסאות המינימליות של ספריות הלקוח שנדרשות לשימוש במדד של מספר הניסיונות החוזרים.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.27.0 | ||
| Node.js | 6.2.0 (פעולות ReadRows ו-ReadRow), 6.3.0 (פעולות אחרות) |
||
| C++ | 2.40.0 | ||
זמני השהיה של חסימת אפליקציות
בטבלה הבאה מפורטים המאפיינים של מדד חביון החסימה של האפליקציה.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/application_blocking_latencies |
| הגדרה | הזמן שחולף מרגע שהלקוח מקבל את התגובה לבקשה ועד שהאפליקציה קוראת את התגובה. המדד הזה רלוונטי בעיקר לבקשות מסוג ReadRows. זמני ההתחלה והסיום של המדד הזה תלויים באופן שבו אתם שולחים את בקשת הקריאה. פרטים נוספים זמינים במאמר דוגמאות לטיימר של חביון חסימת אפליקציות.
|
| פעולות נתמכות ב-Bigtable |
|
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מוצגות הגרסאות המינימליות של ספריות הלקוח שנדרשות לשימוש במדד של זמן האחזור של חסימת האפליקציה.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.38.0 | ||
| Node.js | 6.3.0 (ReadRows פעולה) |
||
| C++ | 2.41.0 | ||
דוגמאות לטיימרים של חביון בחסימת אפליקציות
בקשות ReadRows נשלחות בדרך כלל באחת משלוש דרכים: באופן איטרטיבי, באופן אסינכרוני או כקריאה עתידית. בדוגמאות הבאות מוצגות זמני ההתחלה והסיום של השהיות בחסימת האפליקציות לכל סוג של פעולה ReadRows.
איטרטיבי
long totaLatency=0;
ServerStream<Row> stream = bigtableDataClient.readRows(query);
for (Row row : stream) {
timer.start();
// Do something with row
timer.stop();
totalLatency += timer.elapsed();
}
אסינכרוני
client.readRowsAsync(query, new ResponseObserver<Row>() {
@Override
public void onStart(StreamController streamController) {
}
@Override
public void onResponse(Row row) {
timer.start();
// Do something with the row
timer.stop();
totalLatency += timer.elapsed();
}
@Override
public void onError(Throwable throwable) {
// Do something with the error
}
@Override
public void onComplete() {
}
});
שיחה עתידית
זמני האחזור של חסימת האפליקציה צריכים להיות בערך 0 (ללא טיימר) עבור בקשה מסוג ReadRows.
List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);
זמני האחזור של התגובה הראשונה
בטבלה הבאה מוצגים המאפיינים והפרטים של מדד זמן האחזור של התגובה הראשונה.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/first_response_latencies |
| הגדרה | זמני האחזור מהרגע שבו לקוח שולח בקשה ועד שהוא מקבל את השורה הראשונה של התגובה. |
| פעולות נתמכות ב-Bigtable | ReadRows |
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מוצגות הגרסאות המינימליות של ספריות הלקוח שנדרשות לשימוש במדד של זמן האחזור של התגובה הראשונה.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.27.0 | ||
| Node.js | 6.2.0 (פעולות ReadRows ו-ReadRow), 6.3.0 (פעולות אחרות) |
||
| C++ | 2.40.0 | ||
זמני אחזור של שרתים
בטבלה הבאה מוצגים המאפיינים והפרטים של מדד חביון השרת.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/server_latencies |
| הגדרה | זמני האחזור בין הרגע שבו הקצה הקדמי של Google מקבל RPC לבין הרגע שבו הוא שולח את הבייט הראשון של התגובה. |
| פעולות נתמכות ב-Bigtable |
|
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מפורטות הגרסאות המינימליות של ספריות הלקוח שנדרשות לשימוש במדד של זמן האחזור של השרת.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.27.0 | ||
| Node.js | 6.2.0 (פעולות ReadRows ו-ReadRow), 6.3.0 (פעולות אחרות) |
||
| C++ | 2.41.0 | ||
מספר שגיאות הקישוריות
בטבלה הבאה מפורטים המאפיינים והפרטים של מדד ספירת שגיאות הקישוריות.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/connectivity_error_count |
| הגדרה | מספר הבקשות שלא הגיעו לרשת של Google. במקרים רגילים, המספר הזה הוא 0. אם המספר שונה מ-0, יכול להיות שיש בעיות בקישוריות בין האפליקציה לבין הרשת של Google. |
| פעולות נתמכות ב-Bigtable |
|
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מפורטות הגרסאות המינימליות של ספריות הלקוח שנדרשות לשימוש במדד של מספר שגיאות הקישוריות.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| המשך | 1.38.0 | ||
| Node.js | 6.2.0 (פעולות ReadRows ו-ReadRow), 6.3.0 (פעולות אחרות) |
||
| C++ | 2.41.0 | ||
זמני האחזור של חסימת לקוחות
בטבלה הבאה מוצגים המאפיינים והפרטים של מדד חביון החסימה של הלקוח.
| מאפיין | תיאור |
|---|---|
| מדד מלא | bigtable.googleapis.com/client/client_blocking_latencies |
| הגדרה | זמני האחזור שנוצרים כשהלקוח חוסם את השליחה של בקשות נוספות לשרת בגלל יותר מדי בקשות בהמתנה בפעולה בכמות גדולה. בגרסאות 2.21.0 ואילך, המדד הזה כולל גם את זמן האחזור של בקשות שנמצאות בתור בערוצי gRPC כשהלקוח יוצר ערוץ. |
| פעולות נתמכות ב-Bigtable |
|
| סוג | הפצה |
| מאפיינים זמינים |
|
תמיכה בספריות לקוח
בטבלה הבאה מפורטות הגרסאות המינימליות של ספריות הלקוח ב-Java שנדרשות לשימוש במדד של זמן האחזור של חסימת הלקוח.
| שפה | לקוח | גרסה (הצטרפות) | גרסה (מופעלת כברירת מחדל) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 |