מודול

מאות אלפי שגיאות שרת, ומה מתוכן באמת בוער

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

מה יש כאן
  1. נאסף בלי לגעת בקוד של הלקוח
  2. חתימה אחת, קבוצה אחת
  3. לא כל שגיאה היא באג שלכם
  4. דירוג שאומר מה קודם
  5. מכתב על חדשה, ומכתב נפרד על חוזרת
  6. מאיפה בקוד זה בא
  7. אזורים, כדי לשאול «מה נשבר אצלנו בתשלומים»
  8. הריצה הראשונה לא מציפה בכל מה שהיה
  9. מכאן נפתחת משימה
  10. מה הלקוח רואה

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

נאסף בלי לגעת בקוד של הלקוח

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

סדר גודל מפרויקט חי אחד, כדוגמה ולא כהבטחה: 348,628 אירועים נאספו בחודשיים.

חתימה אחת, קבוצה אחת

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

סדר גודל: 348,628 אירועים הצטמצמו ל-902 קבוצות. הקבוצה הגדולה בהן ספרה 1,425,190 הופעות - מספר שלבדו היה מטביע כל רשימה.

לא כל שגיאה היא באג שלכם

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

סדר גודל: 881 אמיתיות, 19 רעש, 2 חיצוניות.

דירוג שאומר מה קודם

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

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

סדר גודל: 823 נמוכות, 50 בינוניות, 14 גבוהות, 14 קריטיות. בדיוק כך זה אמור להיראות - מה שבוער הוא עשרות, לא מאות.

מכתב על חדשה, ומכתב נפרד על חוזרת

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

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

מאיפה בקוד זה בא

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

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

אזורים, כדי לשאול «מה נשבר אצלנו בתשלומים»

לקבוצות אפשר לתת תווית אזור - תשלומים, הרשמה, ממשק ניהול - ואז השאלה מפסיקה להיות «איזו שגיאה הכי תכופה» ונעשית «מה לא בסדר בחלק הזה של המערכת». כרגע מוגדרות 8 תוויות כאלה.

הריצה הראשונה לא מציפה בכל מה שהיה

כשמחברים פיד שכבר עובד שנים, כל מה שקיים בו הוא «חדש» מבחינתנו - ובלי כלל מיוחד הריצה הראשונה הייתה שולחת מאות מכתבים בבת אחת, ואת כולם היו מוחקים בלי לקרוא.

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

מכאן נפתחת משימה

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

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

מה הלקוח רואה

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

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

התחילו ניסיון חינם