מבצע מעקב

  
כתיבת אירועי מעקב למאגר נתונים זמני של עקבות המערכת.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫12 באוקטובר 2026 ‫2.0.4 - - -

משוב

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

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

מבצע מעקב

גרסה 2.0

גרסה 2.0.4

‫12 באוקטובר 2026

‫androidx.tracing:tracing-*:2.0.4 מופץ. גרסה 2.0.4 מכילה את השמירות האלה.

תיקוני באגים
  • תוקנה בעיית מרוץ תהליכים (race condition) כשמרוקנים מנתוני המעקב את המנות. (aosp/4344047)

גרסה 2.0.3

‫23 בספטמבר 2026

‫androidx.tracing:tracing-*:2.0.3 מופץ. גרסה 2.0.3 מכילה את השמירות האלה.

גרסה 2.0.2

‫9 בספטמבר 2026

‫androidx.tracing:tracing-*:2.0.2 מופץ. גרסה 2.0.2 מכילה את ה-commits האלה.

גרסה 2.0.1

‫26 באוגוסט 2026

‫androidx.tracing:tracing-*:2.0.1 מופץ. גרסה 2.0.1 מכילה את השמירות האלה.

גרסה 2.0.0

‫12 באוגוסט 2026

‫androidx.tracing:tracing-*:2.0.0 מופץ. גרסה 2.0.0 מכילה את ה-commits האלה.

התכונות העיקריות בגרסה 2.0.0:

ה-API החדש בתהליך מאפשר:

  • תיעוד תוכן של מעקב בתהליך, בשטח
  • תהליכים ב-Perfetto (חצים מפרוסה אחת לאחרת)
  • הערות Perfetto (מטא-נתונים של פרוסות מפתח/ערך)
  • ‫traceCoroutine() {} – Coroutine Tracing API שעוקב אחרי החלפות של שרשורים
  • Category filtering
  • תקורה נמוכה משמעותית בהשוואה ל-API הקיים של android.os.Trace ולמעטפת של trace() {}
  • מעקב KMP – אפשר להשתמש בו בספריות ללא תלות ב-Android, ובפרויקטים של JVM מארח
  • מיזוג עם הקלטת מעקב המערכת לאחר מעשה (מוטמע כברירת מחדל ב-AndroidX Benchmark 1.5)

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

ממשקי ה-API הקיימים של android.os.Trace / trace() {} לא הוצאו משימוש. עדיין מומלץ להשתמש בממשקי ה-API האלה לאירועים בתדירות נמוכה שתמיד צריכים להיות מתועדים במאגר הזמני של מעקב המערכת, במיוחד בספריות.

גרסה ‎2.0.0-rc01

‫29 ביולי 2026

‫androidx.tracing:tracing-*:2.0.0-rc01 מופץ. גרסה ‎2.0.0-rc01 מכילה את השמירות האלה.

גרסה ‎2.0.0-beta01

‫15 ביולי 2026

‫androidx.tracing:tracing-*:2.0.0-beta01 מופץ. גרסה ‎2.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • PerfettoCapturePerfettoTraceRule עכשיו אפשר ללכוד את העקבות של תהליכים שמתבצעים ולמזג אותם לחבילת יעד. (I9a00b, ‏ b/497959820)
  • עכשיו לandroidx.benchmark יש minSdk של 24. (Ic2a85)

תיקוני באגים

  • גרסת Tracing 2.0-beta01. (I1b162)
  • כשיוצרים פרטי טראק, צריך להשתמש במזהי שרשורים ספציפיים לפלטפורמה. (I6ba64)

גרסה ‎2.0.0-alpha09

‫23 ביוני 2026

‫androidx.tracing:tracing-*:2.0.0-alpha09 מופץ. גרסה ‎2.0.0-alpha09 מכילה את השמירות האלה.

שינויים ב-API

  • שינוי קל ב-API של Tracer כדי להבחין בין instant(...) ל-writeInstant(...). (I0935a)
  • הוספת תמיכה בטוקנים של הפצה באירועים מיידיים. (I99f81)
  • יש הרשאה לשימוש מלא בזרימות של Perfetto ב-API הניסיוני להפצת הקשר ידנית. (I20cb6)
  • דחיית היצירה של BufferedSink ו-ProtoWriter ב-TraceSink. (Ibd098)
  • הפיכת הגילוי של Tracer לפשוט וניתן לחיבור גם לספריות Java וגם לספריות Android. (I99111)
  • כדי שמפתחי ספריות יוכלו למצוא בקלות מופע של TraceDriver שאפשר להשתמש בו למעקב בתוך התהליך. (Ia503e)

גרסה ‎2.0.0-alpha08

‫19 במאי 2026

‫androidx.tracing:tracing-*:2.0.0-alpha08 מופץ. גרסה 2.0.0-alpha08 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת האפשרות לגלות מקרים של TraceDriver ולבטל אותם כדי להשתמש בהם בכל התהליך. (I3f715)
  • שינוי השם של Tracer.recordException לTracer.recordExceptionAndThrow. (I4411f, b/503092450)

גרסה ‎2.0.0-alpha07

‫6 במאי 2026

‫androidx.tracing:tracing-*:2.0.0-alpha07 מופץ. גרסה ‎2.0.0-alpha07 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת API כדי לקבל כלי למעקב אחר קוד זמני שאפשר להשתמש בו כשהמעקב מושבת. (I84c98)
  • התאמה של מחזור החיים של המעקב למעקב המערכת. (Ib391b)
  • ממשקי ה-API של המונים לא דורשים יותר הקצאה. (I5e73a)

תיקוני באגים

  • תוקן כלל שמירה של Perfetto SDK (tracing-perfetto) כדי לוודא שאפשר להפעיל את Perfetto SDK. (I1d227)
  • הוספת היכולת לעקוב אחרי אירועי flush(). ‫(I38014, ‏ b/495852704)

גרסה ‎2.0.0-alpha06

‫22 באפריל 2026

‫androidx.tracing:tracing-*:2.0.0-alpha06 מופץ. גרסה ‎2.0.0-alpha06 מכילה את השמירות האלה.

שינויים ב-API

  • מבטלים את ההגבלה על File.createPerfettoFile() כדי שאחרים יוכלו ליצור כיורים בבטחה. כש-block() זורק חריגה ב-trace / traceCoroutine, צריך ליצור אירוע instant לחריגה עם המטא-נתונים שמייצגים את רכיבי דוח הקריסות התואמים. (I682e5, ‏ b/501536851, ‏ b/437166283)
  • מוסיפים עומס יתר של setCounter(...) שמקבל סוג Long של Java. (Ic0469, b/356082604)
  • ב-Tracing 2.0 נעשה עכשיו שימוש ב-Long למזהים ספציפיים לכל פלטפורמה Thread. (I67277)

תיקוני באגים

  • לשפר את המסמכים של AttributeEntry.reset(). (I5d3a1, ‏ b/496079439)

גרסה ‎2.0.0-alpha05

‫8 באפריל 2026

‫androidx.tracing:tracing-*:2.0.0-alpha05 מופץ. גרסה ‎2.0.0-alpha05 מכילה את השמירות האלה.

שינויים ב-API

  • הפונקציות TraceSink מחזירות עכשיו TraceSink ולא AbstractTraceSink. עכשיו לקבצים יש סיומת ייחודית. אנחנו מוודאים שאפשר ליצור באופן אטומי קובץ חדש שישמש לאחסון של מנות נתונים של מעקב. (I4c4aa, ‏ b/496298726)
  • הפשטה והאצה של הפצת ההקשר של פונקציות קורוטין. (Ia62db)
  • אפשר להשתמש ב-attributes() האופציונלי כשיוצרים TraceDriver שמאפשר להוסיף מטא-נתונים שקשורים למעקב. (Ia147e)

תיקוני באגים

  • התהליכים של השרשורים והמעקב אחרי המונים מסונכרנים עכשיו. הפעולה הזו מתקנת חריגות מהסוג: java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null
  • לא להפיק אירועי sink כשהמעקב מושבת.

גרסה ‎2.0.0-alpha04

‫25 במרץ 2026

‫androidx.tracing:tracing-*:2.0.0-alpha04 מופץ. גרסה ‎2.0.0-alpha04 מכילה את ה-commits האלה.

שינויים ב-API

  • הופכים את AbstractTraceDriver לממשק מופשט מאוד, ומעבירים את ההטמעה של Perfetto למודול tracing-wire. (Ie2f59)
  • כדי להימנע משימוש בהטמעה הבסיסית הלא נכונה, כדאי לתת להטמעות הבסיסיות שמות תיאוריים יותר. מפתחים שהשתמשו בעבר ב-androidx.tracing.Trace{Sink|Driver} יצטרכו לעבור לשימוש ב-AbstractTrace{Sink|Driver}. (I9b46d)

גרסה ‎2.0.0-alpha03

‫11 במרץ 2026

‫androidx.tracing:tracing-*:2.0.0-alpha03 מופץ. גרסה ‎2.0.0-alpha03 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו הטמעה ניסיונית של InMemoryRingBufferTraceSink שמאפשרת להגדיר מגבלת קיבולת ולמנוע כתיבה לדיסק, אלא אם מבקשים זאת במפורש. (I1dc44, ‏ b/484409653, ‏ I65a37, ‏ b/484409653)
  • תיקון מרוץ תהליכים כשפולטים אירועי מעקב להשעיה ולחידוש של שגרת המשך (coroutine). (Ie145e)

תיקוני באגים

  • כברירת מחדל, androidx.tracing לא מנסה יותר ליצור קשרים בין פונקציות קורוטין הורה לצאצא במעקבים. זה היה מבלבל, כי פורמט המעקב הבסיסי לא תומך בחיבורים של 1:N ו-N:1, וכתוצאה מכך נוצרת קבוצה של חצים בגלל חוסר בהירות לגבי החיבור של כל פרוסת שגרת המשך. עדיין אפשר להביע הסכמה באופן ידני להפצה באמצעות ה-API של tokenForManualPropagation(), אם זה חשוב לתרחיש לדוגמה שלכם. (Ib2cf9)

גרסה ‎2.0.0-alpha02

‫25 בפברואר 2026

‫androidx.tracing:tracing-*:2.0.0-alpha02 מופץ. גרסה ‎2.0.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • שיפור הביצועים של הטמעת Perfetto Trace Sink באמצעות suspendCoroutineUninterceptedOrReturn פנימי (2ea97b).

גרסה ‎2.0.0-alpha01

‫28 בינואר 2026

‫androidx.tracing:tracing-*:2.0.0-alpha01 מופץ. גרסה 2.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

‫AndroidX Tracing 2.0 כולל ממשק API חדש ומשמעותי למעקב בתוך התהליך עם תקורה נמוכה, כתוספת לממשקי ה-API הקיימים שמבוססים על android.os.Tracing ב-Tracing 1.0. ממשקי ה-API החדשים זמינים גם ב-Android וגם ב-JVM של המארח, מה שמאפשר לכלי המארח להפיק עקבות עם תקורה נמוכה לניתוח ביצועים, באמצעות אותו פורמט סטנדרטי של עקבות Perfetto.

גם Android Studio וגם Perfetto תומכים בנתוני מעקב שנוצרו, ואפשר לתעד אותן באמצעות קבוצת תכונות מורחבת, כולל תיוג של תבניות של תוכן דינמי עם מטא-נתונים (כמו ארגומנטים של פונקציות!) והפצה של נתוני מעקב הקשר של שגרות המשך.

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

  /**
  * A [TraceSink] defines how traces are serialized.
  *
  * [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
  */
  fun createSink(): TraceSink {
      val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
      // We are using the factory function defined in androidx.tracing.wire
      return TraceSink(
          sequenceId = 1,
          directory = outputDirectory
      )
  }

  /**
  * Creates a new instance of [androidx.tracing.TraceDriver].
  */
  fun createTraceDriver(): TraceDriver {
      // We are using a factory function from androidx.tracing.wire here.
      // `isEnabled` controls whether tracing is enabled for the application.
      val driver = TraceDriver(sink = createSink(), isEnabled = true)
      return driver
  }

  fun main() {
      val driver = createTraceDriver()
      driver.use {
          driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
              Thread.sleep(100L)
          }
      }
  }

שינויים ב-API

  • הגדרת Tracer כמאפיין של TraceDriver. (Iabd9b)
  • הוספת תמיכה בהעברת הקשר באופן ידני. (I899ff)
  • הוספת היכולת להוסיף מידע על סטאק הביצוע בקטע מעקב. ‫(If6a1b)
  • הצגת ממשקי ה-API החדשים של androidx.tracing. (I5102b)
  • לאפשר לאירועים מיידיים להכיל מטא-נתונים, ולהוסיף מוני אירועים מיידיים ומונים. (Ia2ed3)
  • מצמצמים את שטח הפנים של ה-API עם ההערה @DelicateTracingApi. שום דבר ב-API ברמה העליונה לא צריך לדרוש שימוש ב-@DelicateTracingApi. (I565e0)
  • פישוט של הפצת ההקשר על ידי איחוד של PropagationToken. (Iab839)
  • ‫BlackHole ממשקי API יציבים ב-androidx.benchmark. (I2b67e, ‏ b/451749438)
  • הוספת היכולת להוסיף הערות לקטע המעקב כ-root span. (Ic8365)
  • המפתח יכול להגדיר במפורש אסימוני הפצה. (I06bb1)
  • השם של MetadataHandleCloseable שונה ל-EventMetadataCloseable, והשם של MetadataHandle שונה ל-EventMetadata. נוסף גם ארגומנט אופציונלי CoroutinePropagationToken ל-Tracer.traceCoroutine כדי לאפשר למפתח לציין במפורש את אסימון ההפצה שבו רוצים להשתמש. (I219f7, b/454147392)
  • הוספנו נקודת כניסה חדשה של Tracer שנותנת למפתחים הרבה יותר שליטה על אופן המעקב. (I24a7b)
  • הוספת היכולת לשלוט באופן שבו מתבצעת הפצת ההקשר ב-SliceTrack. (Ieb8fc)
  • ‫fillCount ב-PooledTracePacketArray מסומן עכשיו כמשתנה בצורה נכונה. (I75d2c)
  • סימון MetadataEntry @DelicateTracingApi. (I8c723)
  • הוספת היכולת של TraceSink לטפל באירועי מעקב שאבדו (כשהמאגר מוצה). (I3b374)
  • הוספת היכולת להפיק אירועי מעקב באופן מותנה על סמך פרדיקט. (I621b4)
  • הוספת האפשרות להוסיף קטגוריות לאירוע מעקב. (I449c2)
  • סימון ההשתתפות של TraceEvent (‏PooledTracePacketArray) כDelicateTracingApi. (Iaac6d)
  • הפיכת ProcessTrack.id, ThreadTrack.id, ThreadTrack.name, CounterTrack.name ו-CounterTrack.parent לציבוריים. (I81210)
  • השם של SliceTrack.traceFlow() API שונה ל-traceCoroutine(). (I79ad0)
  • הוספת היכולת להוסיף מידע לפי הקשר לפרוסות באמצעות הערות לניפוי באגים במעקב של Perfetto. (Ic2b56)
  • מאפשרים ליצור מופע של WireTraceSink עם File או OutputStream. (Iecea0)
  • הסרת הערות @RequiresApi(21) מיושנות (Ic4792)

גרסה 1.3

גרסה 1.3.0

‫23 באפריל 2025

‫androidx.tracing:tracing:1.3.0,‏ androidx.tracing:tracing-android:1.3.0 ו-androidx.tracing:tracing-ktx:1.3.0 שוחררו. גרסה 1.3.0 מכילה את ה-commits האלה.

שינויים חשובים מאז גרסה 1.2.0

  • המרת המחלקה androidx.tracing.Trace ל-Kotlin, והעברת כל הקוד מהמודול tracing-ktx אל tracing.
  • מסירים את crossinline מהפונקציה trace כדי לאפשר שימוש ב-@Composable. (I53882, ‏ b/248344805)

גרסה ‎1.3.0-rc01

‫9 באפריל 2025

הגרסאות androidx.tracing:tracing:1.3.0-rc01,‏ androidx.tracing:tracing-android:1.3.0-rc01 ו-androidx.tracing:tracing-ktx:1.3.0-rc01 הושקו ללא שינויים מאז גרסת הבטא האחרונה. גרסה ‎1.3.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.3.0-beta01

‫12 בפברואר 2025

‫androidx.tracing:tracing:1.3.0-beta01,‏ androidx.tracing:tracing-android:1.3.0-beta01 ו-androidx.tracing:tracing-ktx:1.3.0-beta01 שוחררו. גרסה ‎1.3.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • העברנו את כל הקוד מהמודול tracing-ktx אל tracing. (Iba550)
  • המרה של מחלקה אחת (androidx.tracing.Trace) ל-Kotlin. (Ie4e5d)

תיקוני באגים

  • הוסר המתווה הידני של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל, R8 בגרסה 3.3) ובכל ה-builds כשמשתמשים ב-AGP 8.1 ואילך (למשל, D8 בגרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה 8.1 של D8 או לגרסה מאוחרת יותר. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)

גרסה ‎1.3.0-alpha02

‫21 ביוני 2023

הגרסאות androidx.tracing:tracing:1.3.0-alpha02 ו-androidx.tracing:tracing-ktx:1.3.0-alpha02 הושקו ללא שינויים מגרסת האלפא הקודמת. גרסה ‎1.3.0-alpha02 מכילה את השמירות האלה.

גרסה 1.3.0-alpha01

‫7 ביוני 2023

‫androidx.tracing:tracing:1.3.0-alpha01 ו-androidx.tracing:tracing-ktx:1.3.0-alpha01 מופצים. גרסה 1.3.0-alpha01 מכילה את השינויים האלה.

שינויים ב-API

  • צריך להסיר את crossinline מ-trace כדי לאפשר שימוש ב-@Composable. (I53882, ‏ b/248344805)

גרסה 1.2

גרסה 1.2.0

‫29 בנובמבר 2023

‫androidx.tracing:tracing:1.2.0 וגם androidx.tracing:tracing-ktx:1.2.0 מופצים. גרסה 1.2.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.1.0

  • הוספת וריאנטים של trace() ו-traceAsync() עם חישוב מחרוזת וקובץ Cookie מסוג lazy. בנוסף, עכשיו המערכת מדלגת בצורה נכונה על Trace.end אם Trace.begin זורק.

גרסה ‎1.2.0-rc01

‫24 במאי 2023

‫androidx.tracing:tracing:1.2.0-rc01 ו-androidx.tracing:tracing-ktx:1.2.0-rc01 מופצים. גרסה ‎1.2.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • מניעת קריסות כשמועברים שמות ארוכים של קטעי מעקב על ידי חיתוך אוטומטי (Iaf6e2)

גרסה ‎1.2.0-beta04

‫3 במאי 2023

הגרסאות androidx.tracing:tracing:1.2.0-beta04 ו-androidx.tracing:tracing-ktx:1.2.0-beta04 פורסמו ללא שינויים. גרסה ‎1.2.0-beta04 מכילה את השמירות האלה.

גרסה ‎1.2.0-beta03

‫5 באפריל 2023

הגרסאות androidx.tracing:tracing:1.2.0-beta03 ו-androidx.tracing:tracing-ktx:1.2.0-beta03 פורסמו בלי שינויים חדשים. גרסה 1.2.0-beta03 מכילה את השינויים האלה.

גרסה ‎1.2.0-beta02

‫22 במרץ 2023

הגרסאות androidx.tracing:tracing:1.2.0-beta02 ו-androidx.tracing:tracing-ktx:1.2.0-beta02 הושקו ללא שינויים מאז גרסת הבטא הקודמת. גרסה ‎1.2.0-beta02 מכילה את השמירות האלה.

גרסה ‎1.2.0-beta01

‫8 במרץ 2023

הגרסאות androidx.tracing:tracing:1.2.0-beta01 ו-androidx.tracing:tracing-ktx:1.2.0-beta01 הושקו ללא שינויים מאז גרסת האלפא האחרונה. גרסה ‎1.2.0-beta01 מכילה את השמירות האלה.

גרסה 1.2.0-alpha02

‫23 בפברואר 2023

הגרסאות androidx.tracing:tracing:1.2.0-alpha02 ו-androidx.tracing:tracing-ktx:1.2.0-alpha02 יוצאות ללא שינויים מהגרסה הקודמת של אלפא. גרסה ‎1.2.0-alpha02 מכילה את השמירות האלה.

תיקוני באגים

  • הגרסה הזו תתקן שגיאה מסוג Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02 שמתרחשת כשמשדרגים ל-androidx.tracing: tracing-perfetto-common:1.0.0-alpha11

גרסה 1.2.0-alpha01

‫5 באוקטובר 2022

‫androidx.tracing:tracing:1.2.0-alpha01 ו-androidx.tracing:tracing-ktx:1.2.0-alpha01 מופצים. גרסה ‎1.2.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת וריאנטים של trace() ו-traceAsync() עם חישוב מחרוזת וקובץ cookie מושהה. בנוסף, עכשיו המערכת מדלגת בצורה נכונה על Trace.end אם Trace.begin זורק. (I31421, ‏ b/175233952, ‏ b/247066503)

גרסה 1.1

גרסה 1.1.0

‫11 במאי 2022

‫androidx.tracing:tracing:1.1.0 ו-androidx.tracing:tracing-ktx:1.1.0 מופצים. גרסה 1.1.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.0.0

  • הוספנו Trace.forceEnableAppTracing() API כדי לאלץ הפעלה של לכידת קטע של מעקב אחר אפליקציה (כלומר, ממשקי android.os.Trace / androidx.tracing API) בגרסאות build שלא ניתן לבצע בהן ניפוי באגים. יש להפעיל את הפונקציה הזו בתחילת האתחול כדי להפעיל תיעוד עקבות המערכת מדויק שלא ניתן לבצע ניפוי באגים, לפני ההשקה של תג המניפסט שאפשר ליצור ממנו פרופיל ב-API 29. (I3a309)
  • נמנעות שגיאות באימות מחלקה כש-Trace.java נטען בפעם הראשונה (05f6b4 ו-cb101f)

גרסה ‎1.1.0-rc01

‫20 באפריל 2022

הגרסאות androidx.tracing:tracing:1.1.0-rc01 ו-androidx.tracing:tracing-ktx:1.1.0-rc01 שוחררו ללא שינויים מאז beta01. גרסה ‎1.1.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.1.0-beta01

1 בדצמבר 2021

‫androidx.tracing:tracing:1.1.0-beta01 ו-androidx.tracing:tracing-ktx:1.1.0-beta01 מופצים. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

אין שינויים מאז 1.1.0-alpha02.

גרסה ‎1.1.0-alpha02

17 בנובמבר 2021

‫androidx.tracing:tracing:1.1.0-alpha02 ו-androidx.tracing:tracing-ktx:1.1.0-alpha02 מופצים. גרסה 1.1.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו את Trace.forceEnableAppTracing()‎, ממשק API שמאפשר לחייב הפעלה של תיעוד קטעי מעקב באפליקציה (כלומר ממשקי ה-API של android.os.Trace / andoridx.tracing) בגרסאות build שלא ניתן לנפות בהן באגים. צריך להפעיל את הפונקציה הזו בתחילת ההפעלה כדי לאפשר מעקב מדויק אחרי המערכת שלא ניתן לניפוי באגים, לפני הוספת תג המניפסט שניתן ליצור לו פרופיל ב-API 29. (I3a309)

גרסה ‎1.1.0-alpha01

‫3 בנובמבר 2021

‫androidx.tracing:tracing:1.1.0-alpha01 ו-androidx.tracing:tracing-ktx:1.1.0-alpha01 מופצים. גרסה 1.1.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • נמנעות שגיאות באימות מחלקה כש-Trace.java נטען בפעם הראשונה (05f6b4 ו-cb101f)

גירסה 1.0

גרסה 1.0.0

‫28 באוקטובר 2020

‫androidx.tracing:tracing:1.0.0 ו-androidx.tracing:tracing-ktx:1.0.0 מופצים. גרסה 1.0.0 מכילה את השמירות האלה.

התכונות העיקריות בגרסה 1.0.0

עוזר לכתוב אירועי מעקב למאגר הנתונים הזמני של מעקב המערכת. אפשר להציג את זה באמצעות כלים כמו Systrace ו-Perfetto. הספרייה הזו מחליפה את המחלקה androidx.core.os.TraceCompat שהוצאה משימוש.

גרסה ‎1.0.0-rc01

‫14 באוקטובר 2020

‫androidx.tracing:tracing:1.0.0-rc01 וגם androidx.tracing:tracing-ktx:1.0.0-rc01 מופצים. גרסה 1.0.0-rc01 מכילה את השמירות האלה.

הגרסה הזו זהה לגרסה 1.0.0-beta01.

גרסה 1.0.0-beta01

‫24 ביוני 2020

הגרסאות androidx.tracing:tracing:1.0.0-beta01 ו-androidx.tracing:tracing-ktx:1.0.0-beta01 הושקו ללא שינויים מאז 1.0.0-alpha01. גרסה 1.0.0-beta01 מכילה את השינויים האלה.

גרסה ‎1.0.0-alpha01

‫10 ביוני 2020

‫androidx.tracing:tracing:1.0.0-alpha01 וגם androidx.tracing:tracing-ktx:1.0.0-alpha01 מופצים. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

‫androidx.tracing היא ספרייה שעוזרת לכתוב אירועי מעקב למאגר של מעקב המערכת. אפשר להציג את זה באמצעות כלים כמו Systrace ו-Perfetto. הספרייה הזו מחליפה את המחלקה androidx.core.os.TraceCompat שהוצאה משימוש. הגרסה הראשונית היא 1.0.0-alpha01.

מעקב אחר Perfetto

גירסה 1.0

גרסה 1.0.1

‫19 בנובמבר 2025

‫androidx.tracing:tracing-perfetto:1.0.1,‏ androidx.tracing:tracing-perfetto-binary:1.0.1 ו-androidx.tracing:tracing-perfetto-handshake:1.0.1 שוחררו. גרסה 1.0.1 מכילה את השמירות האלה.

תיקוני באגים

  • תמיכה בדפים בגודל 16KB‏ (b7a7dd)
  • הוסר המתווה הידני של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל, R8 בגרסה 3.3) ובכל ה-builds כשמשתמשים ב-AGP 8.1 ואילך (למשל, D8 בגרסה 8.1). ללקוחות שלא משתמשים ב-AGP, מומלץ לעדכן לגרסה 8.1 ומעלה של D8. למידע נוסף, מומלץ לעיין במאמר הזה. ‫(Ia60e0, ‏ b/345472586)
  • לא מומלץ לצרף עותקים של FastNative/CriticalNative לספרייה, אלא להשתמש בעותקים של הפלטפורמה היציבה. (I8238a, ‏ b/35664282, ‏ b/280878596)

גרסה 1.0.0

‫4 באוקטובר 2023

‫androidx.tracing:tracing-perfetto:1.0.0,‏ androidx.tracing:tracing-perfetto-binary:1.0.0 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0 הושקו. גרסה 1.0.0 מכילה את השינויים האלה.

התכונות העיקריות בגרסה 1.0.0

  • זו הגרסה היציבה הראשונה של ספריות Tracing-perfetto.

גרסה ‎1.0.0-rc01

‫20 בספטמבר 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-rc01,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 הושקו ללא שינויים מאז גרסת הבטא האחרונה. גרסה 1.0.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.0.0-beta03

‫30 באוגוסט 2023

‫androidx.tracing:tracing-perfetto:1.0.0-beta03,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 פורסמו. גרסה 1.0.0-beta03 מכילה את השינויים האלה.

  • הגרסה עודכנה כדי להתאים לגרסה של androidx.benchmark.

גרסה ‎1.0.0-beta02

‫23 באוגוסט 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-beta02, androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 וגם androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 פורסמו. גרסה 1.0.0-beta02 מכילה את השינויים האלה.

תכונות חדשות

  • הופעלה תמיכה במעקב בזמן הפעלת האפליקציה (cold start).

גרסה ‎1.0.0-beta01

‫18 ביולי 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-beta01, androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 וגם androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 פורסמו. גרסה 1.0.0-beta01 מכילה את השינויים האלה.

שינויים ב-API

  • השם של androidx.tracing.perfetto.Trace שונה ל-androidx.tracing.perfetto.PerfettoSdkTrace (I44af8)
  • לשם שמירה על עקביות, שינינו את השם של הקבוע exit code (קוד יציאה) ל-result code (קוד תוצאה) בפרוטוקול (Id1d1e).
  • השם של EnableTracingResponse שונה ל-Response. (I56275)
  • הוספנו אפשרות להפעיל מעקב אחר הפעלה מההתחלה (cold start) במצב מתמשך. נוספה פונקציה לניקוי (קבוע או לא קבוע) של מעקב אחר הפעלה קרה. (Iaa09d)
  • ממשקי ה-API של Tracing Perfetto SDK תואמים ל-android.os.Trace. (I73ba0, b/282199917)
  • מעבר לתבנית מפעל (factory pattern) עבור LibrarySource, שמאפשרת להוסיף בקלות ל-API תרחישי שימוש עתידיים (למשל, טעינה ישירה של קובץ .so) במקרה הצורך. (I128df)
  • התאמה של הפרמטרים של enableTracingColdStart ל-enableTracingImmediate (I54126)
  • הארגומנט killProcess הוסר ב-enableTracingColdStart (I81c4d)

גרסה 1.0.0-alpha17

‫21 ביוני 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha17, ‏androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 פורסמו ללא שינויים מגרסת האלפא הקודמת. גרסה 1.0.0-alpha17 מכילה את השמירות האלה.

גרסה 1.0.0-alpha16

‫7 ביוני 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha16, ‏androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 פורסמו ללא שינויים מגרסת האלפא הקודמת. גרסה ‎1.0.0-alpha16 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha15

‫3 במאי 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha15,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 פורסמו ללא שינויים. גרסה ‎1.0.0-alpha15 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha14

‫5 באפריל 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha14, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 פורסמו ללא שינויים חדשים. גרסה ‎1.0.0-alpha14 מכילה את השמירות האלה.

גרסה 1.0.0-alpha13

‫22 במרץ 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha13,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 פורסמו ללא שינויים מאז הפרסום האחרון. גרסה 1.0.0-alpha13 מכילה את השינויים האלה.

גרסה ‎1.0.0-alpha12

‫8 במרץ 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha12, ‏androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 פורסמו ללא שינויים מאז גרסת האלפא הקודמת. גרסה ‎1.0.0-alpha12 מכילה את השמירות האלה.

גרסה 1.0.0-alpha11

‫22 בפברואר 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha11,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 מתפרסמות ללא שינויים. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha10

‫8 בפברואר 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha10, ‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 יוצאות ללא שינויים. גרסה ‎1.0.0-alpha10 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha09

‫10 בפברואר 2023

‫androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.

תכונות חדשות

  • גרסה חדשה שמאפשרת לספריות אחרות של androidx.tracing:tracing-perfetto*: 1.0.0-alpha09 לעבוד יחד.

‫11 בינואר 2023

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha09 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 פורסמו ללא שינויים. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha08

‫7 בדצמבר 2022

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha08, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 פורסמו. גרסה 1.0.0-alpha08 מכילה את השינויים האלה.

תכונות חדשות

  • שיפור הביצועים באמצעות אופטימיזציה של אופן הטיפול במחרוזות.

תיקוני באגים

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

גרסה 1.0.0-alpha07

‫9 בנובמבר 2022

‫androidx.tracing:tracing-perfetto:1.0.0-alpha07,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 פורסמו. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.

  • הפחתת התקורה של JNI בממשקי ה-API של androidx.tracing:tracing-perfetto.

גרסה 1.0.0-alpha06

‫24 באוקטובר 2022

‫androidx.tracing:tracing-perfetto:1.0.0-alpha06,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 פורסמו. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.

  • העדכון הזה לא כולל שינויים, רק עדכון של מספר הגרסה לסנכרון עם androidx.benchmark.

גרסה 1.0.0-alpha05

‫5 באוקטובר 2022

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha05, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 פורסמו. גרסה 1.0.0-alpha05 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha04

‫21 בספטמבר 2022

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha04, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 פורסמו. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha03

‫7 בספטמבר 2022

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha03, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 פורסמו.

תכונות חדשות

  • אין תכונות חדשות מגרסה 1.0.0-alpha02.

גרסה ‎1.0.0-alpha02

‫24 באוגוסט 2022

הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha02, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 פורסמו. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

תיקוני באגים

  • כמה שיפורים בהפעלה של שירות Perfetto
  • שיפרנו את הטיפול במקרים שבהם לא מתקבלת תשובה, והוספנו קוד יציאה ייעודי: RESULT_CODE_CANCELLED.
  • שיפרנו את הטיפול בשגיאות ניתוח.
  • הגדרנו את EnableTracingResponse.requiredVersion כ-nullable, כי אנחנו לא יכולים לדעת את הגרסה אם אין לנו אפשרות לתקשר עם החבילה. (I5ba20)

גרסה ‎1.0.0-alpha01

‫27 ביולי 2022

‫androidx.tracing:tracing-perfetto:1.0.0-alpha01,‏ androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 פורסמו. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

  • הערה: כל הספריות של androidx.tracing:tracing-perfetto* מיועדות בתחילה לשימוש פנימי בלבד בספריות AndroidX. לא אמור להיות צורך להסתמך עליהם באופן ישיר.

תכונות חדשות

  • כל הספריות של androidx.tracing:tracing-perfetto* מיועדות בהתחלה רק לשימוש פנימי בספריות של AndroidX, ואין צורך להסתמך עליהן באופן ישיר. אנחנו מתעדים את פרטי ההטמעה האלה כדי לשמור על שקיפות.

  • ‫androidx.tracing:tracing-perfetto היא ספרייה שעוזרת לכתוב אירועי מעקב באמצעות Perfetto SDK עם תקורה נמוכה. אפשר להשתמש בנתונים האלה ב-Benchmark, ב-Android Studio או בממשק המשתמש של Perfetto.

  • ‫androidx.tracing:tracing-perfetto-binary הוא קבוצה של תלות בינארית שנדרשת עבור androidx.tracing:tracing-perfetto.

  • ‫androidx.tracing:tracing-perfetto-common היא תלות פנימית של androidx.tracing:tracing-perfetto, וכלים יכולים להשתמש בה כדי לשלב עם androidx.tracing:tracing-perfetto.