ردیابی
  
رویدادهای ردیابی را در بافر ردیابی سیستم بنویسید.
جدیدترین به‌روزرسانی نسخه پایدار نامزد انتشار انتشار نسخه بتا نسخه آلفا
‫۱۲ اکتبر ۲۰۲۶ ۲.۰.۴ - - -

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی پیدا کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل‌از ایجاد مشکل جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره می‌توانید رأی خود را به مشکل موجود اضافه کنید.

ایجاد مشکل جدید

برای اطلاعات بیشتر، مستندات Issue Tracker را ببینید.

ردیابی

نسخه ۲.۰

نسخه ۲.۰.۴

‫۱۲ اکتبر ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.4 منتشر شد. نسخه ۲.۰.۴ حاوی این ارسال‌ها است.

رفع اشکال‌ها
  • شرایط مسابقه‌ای هنگام پاک کردن بسته‌های ردیابی برطرف شد. (aosp/4344047)

نسخه ۲.۰.۳

‫۲۳ سپتامبر ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.3 منتشر شد. نسخه ۲.۰.۳ حاوی این ارسال‌ها است.

نسخه ۲.۰.۲

۹ سپتامبر ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.2 منتشر شد. نسخه ۲.۰.۲ حاوی این ثبت‌ها است.

نسخه ۲.۰.۱

۲۶ اوت ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.1 منتشر شد. نسخه ۲.۰.۱ حاوی این ثبت‌ها است.

نسخه ۲.۰.۰

‫۱۲ اوت ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0 منتشر شد. نسخه ۲.۰.۰ حاوی این ثبت‌ها است.

ویژگی‌های اصلی نسخه ۲.۰.۰:

میانای برنامه‌سازی کاربردی درون‌پردازشی جدید امکانات زیر را فراهم می‌کند:

  • محتوای ردگیری را درحین پردازش در فیلد ضبط کنید
  • جریان‌های Perfetto (پیکان‌هایی از یک برش به برش دیگر)
  • حاشیه‌نویسی‌های Perfetto (فراداده‌های برش کلید/مقدار)
  • traceCoroutine() {} - Coroutine Tracing API که تعویض‌های رشته را ردیابی می‌کند
  • فیلتر کردن دسته
  • سربار بسیار کمتر نسبت به میانای برنامه‌سازی کاربردی android.os.Trace و پوشاننده trace() {} موجود
  • ردیابی KMP - می‌تواند در کتابخانه‌های بدون وابستگی Android و در پروژه‌های JVM میزبان استفاده شود
  • ادغام با ضبط ردیابی سیستم پس‌از وقوع (به‌طور پیش‌فرض در AndroidX Benchmark 1.5 پیاده‌سازی شده است)

توجه داشته باشید که میاناهای برنامه‌سازی کاربردی ردیابی جدید در میان‌گیری که توسط فرایند کنترل می‌شود ضبط می‌کنند که هنوز توسط ضبط ردیابی سیستم «استودیو» ضبط نشده است. این مورد در «نمایه‌گرهای استودیو» در نسخهٔ پخش آتی رسیدگی خواهد شد.

میاناهای برنامه‌سازی کاربردی android.os.Trace / trace() {} موجود منسوخ نشده‌اند. این «میاناهای برنامه‌سازی کاربردی» همچنان برای رویدادهای با فراوانی کم که همیشه باید در بافر ردیابی سیستم ضبط شوند توصیه می‌شوند، به‌ویژه در کتابخانه‌ها.

نسخه 2.0.0-rc01

۲۹ ژوئیه ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-rc01 منتشر شد. نسخه 2.0.0-rc01 حاوی این ارسال‌ها است.

نسخه 2.0.0-beta01

‫۱۵ ژوئیه ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-beta01 منتشر شد. نسخه 2.0.0-beta01 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫PerfettoCapture و PerfettoTraceRule اکنون می‌توانند ردپاهای درحال پردازش را ضبط کنند و آن‌ها را برای بسته هدف ادغام کنند. (I9a00b، b/497959820)
  • ‫androidx.benchmark اکنون minSdk ۲۴ دارد. (Ic2a85)

رفع اشکال‌ها

  • درحال ردیابی نسخه 2.0-beta01. (I1b162)
  • هنگام تولید اطلاعات قطعه، از شناسه‌های رشته مخصوص پلاتفرم استفاده کنید. (I6ba64)

نسخه 2.0.0-alpha09

۲۳ ژوئن ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha09 منتشر شد. نسخه 2.0.0-alpha09 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • تغییر جزئی در میانای برنامه‌سازی کاربردی در Tracer برای رفع ابهام بین instant(...) و writeInstant(...). (I0935a)
  • پشتیبانی از توکن‌های انتشار در رویدادهای فوری اضافه شد. (I99f81)
  • اجازه استفاده کامل از جریان‌های Perfetto در میانای برنامه‌سازی کاربردی انتشار زمینه دستی آزمایشی. (I20cb6)
  • ایجاد BufferedSink و ProtoWriter در TraceSink را به‌تعویق بیندازید. (Ibd098)
  • اکتشاف Tracer را برای کتابخانه‌های Java و Android ساده و قابل‌اتصال کنید. (I99111)
  • برای توسعه‌دهندگان کتابخانه آسان کنید تا نمونه‌ای از TraceDriver را که می‌تواند برای ردیابی درون‌فرایندی استفاده شود پیدا کنند. (Ia503e)

نسخه 2.0.0-alpha08

۱۹ مه ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha08 منتشر شد. نسخه 2.0.0-alpha08 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • قابلیت شناسایی و ملغی کردن نمونه‌های TraceDriver را اضافه کنید تا در کل فرایند استفاده شود. (I3f715)
  • نام Tracer.recordException به Tracer.recordExceptionAndThrow تغییر کند. (I4411f، b/503092450)

نسخه 2.0.0-alpha07

۶ مه ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha07 منتشر شد. نسخه 2.0.0-alpha07 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • یک API اضافه کنید تا ردیاب خردی به‌دست آورید که بتوان از آن درصورت غیرفعال بودن ردیابی استفاده کرد. (I84c98)
  • چرخه حیات ردیابی را با ردیابی سیستم سازگار کنید. (Ib391b)
  • «میاناهای برنامه‌سازی کاربردی شمارنده» اکنون کاملاً بدون تخصیص هستند. (I5e73a)

رفع اشکال‌ها

  • قانون نگهداری برای «کیت توسعه نرم‌افزار Perfetto» (tracing-perfetto) اصلاح شد که تضمین می‌کند «کیت توسعه نرم‌افزار Perfetto» بتواند فعال شود. (I1d227)
  • امکان ردیابی flush() رویداد را اضافه کنید. (I38014، b/495852704)

نسخه 2.0.0-alpha06

‫۲۲ آوریل ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha06 منتشر شد. نسخه 2.0.0-alpha06 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • File.createPerfettoFile() را رفع محدودیت کنید تا دیگران بتوانند به‌طور ایمن چاهک ایجاد کنند. وقتی block() استثنایی در trace / traceCoroutine ایجاد می‌کند، رویداد instant برای استثنا با فراداده‌ای که عناصر ردیابی پشته مربوطه را نشان می‌دهد ایجاد کنید. (I682e5، b/501536851، b/437166283)
  • یک سربار setCounter(...) اضافه کنید که نوع Long جاوا را می‌گیرد. (Ic0469، b/356082604)
  • Tracing 2.0 اکنون از Long برای شناسه‌های Thread مختص پلاتفرم استفاده می‌کند. (I67277)

رفع اشکال‌ها

  • مستندات AttributeEntry.reset() را بهبود دهید. (I5d3a1،‏ b/496079439)

نسخه 2.0.0-alpha05

‫۸ آوریل ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha05 منتشر شد. نسخه 2.0.0-alpha05 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • TraceSink توابع کارخانه اکنون TraceSink را برمی‌گردانند و نه AbstractTraceSink. اکنون فایل‌ها پسوند یکتایی دارند. مطمئن می‌شویم که می‌توانیم به‌صورت اتمی فایل جدیدی ایجاد کنیم که برای ذخیره کردن بسته‌های ردیابی استفاده خواهد شد. ‫(I4c4aa، b/496298726)
  • انتشار زمینه روتین همکار را ساده‌تر و سریع‌تر کنید. (Ia62db)
  • attributes() اختیاری را هنگام ساختن TraceDriver معرفی کنید که روشی برای افزودن فراداده مربوط به ردگیری ارائه می‌دهد. (Ia147e)

رفع اشکال‌ها

  • رشته‌های پردازش و مسیرهای شمارنده اکنون همگام‌سازی شده‌اند. این کار استثناهای فرم را اصلاح می‌کند: java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null
  • وقتی ردیابی غیرفعال است، از انتشار رویدادهای مقصد خودداری کنید.

نسخه 2.0.0-alpha04

۲۵ مارس ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha04 منتشر شد. نسخه 2.0.0-alpha04 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫AbstractTraceDriver را واقعاً انتزاعی کنید و پیاده‌سازی Perfetto را به ماژول tracing-wire منتقل کنید. (Ie2f59)
  • نام‌های توصیفی‌تری به پیاده‌سازی‌های پایه بدهید تا از استفاده از نام اشتباه جلوگیری شود. توسعه‌دهندگانی که قبلاً androidx.tracing.Trace{Sink|Driver} را گسترش می‌دادند اکنون باید به استفاده از AbstractTrace{Sink|Driver} تغییر دهند. (I9b46d)

نسخه 2.0.0-alpha03

‫۱۱ مارس ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha03 منتشر شد. نسخه 2.0.0-alpha03 شامل این تعهدها است.

تغییرات میانای برنامه‌سازی کاربردی

  • پیاده‌سازی آزمایشی InMemoryRingBufferTraceSink اضافه شد که امکان تنظیم محدودیت ظرفیت را فراهم می‌کند و از نوشتن در دیسک خودداری می‌کند، مگر اینکه صراحتاً درخواست شود. (I1dc44،‏ b/484409653،‏ I65a37،‏ b/484409653)
  • رفع شرایط رقابتی هنگام انتشار رویدادهای ردیابی برای تعلیق و ازسرگیری کوروتین. (Ie145e)

رفع اشکال‌ها

  • ‫androidx.tracing دیگر به‌طور پیش‌فرض تلاش نمی‌کند تا در ردگیری‌ها از روال‌های هم‌کار والد به فرزند اتصال برقرار کند. این موضوع گیج‌کننده بوده است، زیرا قالب ردیابی زیرین از اتصالات 1:N و N:1 پشتیبانی نمی‌کند، که منجر به مجموعه‌ای از پیکان‌ها به‌دلیل ابهام درباره اینکه کدام برش از روتین همکار به کدام متصل می‌شود، می‌شود. وقتی برای مورد استفاده شما مهم است، همچنان می‌توانید بااستفاده از API tokenForManualPropagation() به‌صورت دستی با انتشار موافقت کنید. (Ib2cf9)

نسخه 2.0.0-alpha02

‫۲۵ فوریه ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha02 منتشر شد. نسخه 2.0.0-alpha02 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • بهبود عملکرد برای پیاده‌سازی Perfetto Trace Sink بااستفاده از suspendCoroutineUninterceptedOrReturn ذاتی (2ea97b).

نسخه 2.0.0-alpha01

‫۲۸ ژانویه ۲۰۲۶

‫androidx.tracing:tracing-*:2.0.0-alpha01 منتشر شد. نسخه 2.0.0-alpha01 حاوی این ارسال‌ها است.

ویژگی‌های جدید

‫AndroidX Tracing 2.0 سطح میانای برنامه‌سازی کاربردی جدید و مهمی را برای ردیابی درون‌پردازشی با سربار کم معرفی می‌کند که مکمل میاناهای برنامه‌سازی کاربردی android.os.Tracing-محور موجود در Tracing 1.0 است. میاناهای برنامه‌سازی کاربردی جدید هم در Android و هم در JVM میزبان دردسترس هستند، که به ابزارهای میزبان امکان می‌دهد ردگیری‌های سربار کم را برای تجزیه‌وتحلیل عملکرد، بااستفاده از همان قالب ردگیری استاندارد Perfetto، منتشر کنند.

ردگیری‌های منتشرشده هم توسط Android Studio و هم Perfetto پشتیبانی می‌شوند و می‌توانند با مجموعه ویژگی‌های گسترش‌یافته‌ای ازجمله برچسب‌گذاری برش‌ها با فراداده (مانند آرگومان‌های تابع!) و انتشار ردگیری بافت کوروتین ضبط شوند.

این نسخه اولیه آلفا فقط برای گردش‌های کار ردیابی درحال پردازش درنظر گرفته شده است و هنوز با ردیابی سیستم‌عامل Android یا «ردیابی سیستم Profiler» در Studio ادغام نشده است - این موارد در نسخه آلفای بعدی ارائه خواهند شد.

  /**
  * 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)
          }
      }
  }

تغییرات میانای برنامه‌سازی کاربردی

  • Tracer را به ویژگی TraceDriver تبدیل کنید. (Iabd9b)
  • پشتیبانی از انتشار دستی بافت اضافه شد. (I899ff)
  • امکان افزودن اطلاعات پشته تماس در بخش ردیابی اضافه شود. (If6a1b)
  • میاناهای برنامه‌سازی کاربردی جدید androidx.tracing را معرفی کنید. (I5102b)
  • اجازه دهید رویدادهای فوری حاوی فراداده باشند و شمارنده‌ها را به لحظه‌ها و شمارنده‌ها اضافه کنید. (Ia2ed3)
  • سطح میانای برنامه‌سازی کاربردی حاشیه‌نویسی‌شده با @DelicateTracingApi را کاهش دهید. هیچ‌چیز در میانای برنامه‌سازی کاربردی سطح بالا نباید نیازمند استفاده از @DelicateTracingApi باشد. (I565e0)
  • انتشار بافت را با یکپارچه کردن PropagationTokenها ساده کنید. (Iab839)
  • تثبیت کردن میاناهای برنامه‌سازی کاربردی BlackHole در androidx.benchmark. (I2b67e، b/451749438)
  • افزودن قابلیت حاشیه‌نویسی بخش ردیابی به‌عنوان محدوده ریشه. (Ic8365)
  • به توسعه‌دهنده اجازه می‌دهد درباره انتقال نشان‌ها صریحاً توضیح دهد. (I06bb1)
  • نام MetadataHandleCloseable به EventMetadataCloseable و نام MetadataHandle به EventMetadata تغییر کرد. همچنین یک آرگومان اختیاری CoroutinePropagationToken به Tracer.traceCoroutine اضافه شد تا توسعه‌دهنده بتواند به‌طور صریح کد انتشار را برای استفاده مشخص کند. (I219f7، b/454147392)
  • نقطه ورود Tracer جدیدی معرفی شده است که به توسعه‌دهندگان کنترل بسیار بیشتری بر نحوه ردیابی می‌دهد. (I24a7b)
  • افزودن توانایی کنترل نحوه انتشار بافت در SliceTrack. (Ieb8fc)
  • ‫fillCount در PooledTracePacketArray اکنون به‌درستی به‌عنوان فرار علامت‌گذاری شده است. (I75d2c)
  • علامت‌گذاری MetadataEntry @DelicateTracingApi. (I8c723)
  • Add the ability for a TraceSink to be able to handle lost trace events (when the pool is exhausted). (I3b374)
  • افزودن توانایی انتشار مشروط رویدادهای ردیابی براساس گزاره. (I621b4)
  • افزودن قابلیت اضافه کردن دسته‌ها به رویداد ردیابی. (I449c2)
  • علامت‌گذاری TraceEvent، PooledTracePacketArray به‌عنوان DelicateTracingApi. (Iaac6d)
  • ‫ProcessTrack.id،‏ ThreadTrack.id،‏ ThreadTrack.name،‏ CounterTrack.name، و CounterTrack.parent را عمومی کنید. (I81210)
  • نام «میانای برنامه‌سازی کاربردی SliceTrack.traceFlow()» به «traceCoroutine()» تغییر کرد. (I79ad0)
  • امکان افزودن اطلاعات زمینه‌ای به برش‌ها ازطریق گزارمان‌های اشکال‌زدایی در ردیابی Perfetto اضافه شد. (Ic2b56)
  • امکان ساختن نمونه‌ای از WireTraceSink با File / OutputStream را فراهم می‌کند. (Iecea0)
  • Removing obsolete @RequiresApi(21) annotations (Ic4792)

نسخه ۱.۳

نسخه ۱.۳.۰

‫۲۳ آوریل ۲۰۲۵

‫androidx.tracing:tracing:1.3.0،‏ androidx.tracing:tracing-android:1.3.0، و androidx.tracing:tracing-ktx:1.3.0 منتشر شده‌اند. نسخه ۱.۳.۰ شامل این تعهدات است.

تغییرات مهم از نسخه ۱.۲.۰

  • ‫androidx.tracing.Trace کلاس به Kotlin تبدیل شد و همه کدها از واحد tracing-ktx به tracing منتقل شد.
  • crossinline را از trace بردارید تا بتوانید از آن در @Composable استفاده کنید. (I53882، b/248344805)

نسخه 1.3.0-rc01

‫۹ آوریل ۲۰۲۵

‫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

‫۱۲ فوریه ۲۰۲۵

‫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 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • همه کدها را از واحد tracing-ktx به tracing منتقل کردیم. (Iba550)
  • کلاس androidx.tracing.Trace به Kotlin تبدیل شد. (Ie4e5d)

رفع اشکال‌ها

  • ازآنجایی‌که هنگام استفاده از R8 با AGP نسخه ۷.۳ یا جدیدتر (برای نمونه، R8 نسخه ۳.۳) و برای همه ساخت‌ها هنگام استفاده از AGP نسخه ۸.۱ یا جدیدتر (برای نمونه، D8 نسخه ۸.۱)، نمای کلی دستی دسترسی به میاناهای برنامه‌سازی کاربردی پلاتفرم جدید به‌طور خودکار ازطریق مدل‌سازی میانای برنامه‌سازی کاربردی انجام می‌شود، نمای کلی دستی دسترسی به میاناهای برنامه‌سازی کاربردی پلاتفرم جدید برداشته شد. به کارخواهانی که از AGP استفاده نمی‌کنند توصیه می‌شود به D8 نسخه ۸.۱ یا بالاتر به‌روزرسانی کنند. برای جزئیات بیشتر، این مقاله را ببینید. ‫(Ia60e0،‏ b/345472586)

نسخه 1.3.0-alpha02

۲۱ ژوئن ۲۰۲۳

androidx.tracing:tracing:1.3.0-alpha02 و androidx.tracing:tracing-ktx:1.3.0-alpha02 بدون تغییر نسبت‌به نسخه آلفای قبلی منتشر شده‌اند. نسخه 1.3.0-alpha02 حاوی این commit-ها است.

نسخه 1.3.0-alpha01

۷ ژوئن ۲۰۲۳

‫androidx.tracing:tracing:1.3.0-alpha01 و androidx.tracing:tracing-ktx:1.3.0-alpha01 منتشر شده‌اند. نسخه 1.3.0-alpha01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • crossinline را از trace بردارید تا بتوانید از آن در @Composable استفاده کنید. (I53882، b/248344805)

نسخه ۱.۲

نسخه ۱.۲.۰

۲۹ نوامبر ۲۰۲۳

‫androidx.tracing:tracing:1.2.0 و androidx.tracing:tracing-ktx:1.2.0 منتشر شده‌اند. نسخه ۱.۲.۰ حاوی این ثبت‌ها است.

تغییرات مهم از نسخه ۱.۱.۰

  • افزودن انواع trace() و traceAsync() با رشته تنبل و محاسبه کوکی. همچنین اکنون اگر Trace.begin پرتاب کند، به‌درستی از Trace.end رد می‌شود.

نسخه 1.2.0-rc01

۲۴ مه ۲۰۲۳

‫androidx.tracing:tracing:1.2.0-rc01 و androidx.tracing:tracing-ktx:1.2.0-rc01 منتشر شده‌اند. نسخه 1.2.0-rc01 حاوی این تعهدات است.

رفع اشکال‌ها

  • جلوگیری از خرابی هنگام ارسال نام‌های طولانی بخش ردیابی با کوتاه کردن خودکار (Iaf6e2)

نسخه 1.2.0-beta04

۳ مه ۲۰۲۳

androidx.tracing:tracing:1.2.0-beta04 و androidx.tracing:tracing-ktx:1.2.0-beta04 بدون تغییر منتشر می‌شوند. نسخه 1.2.0-beta04 شامل این ارسال‌ها است.

نسخه 1.2.0-beta03

۵ آوریل ۲۰۲۳

androidx.tracing:tracing:1.2.0-beta03 و androidx.tracing:tracing-ktx:1.2.0-beta03 بدون تغییر جدیدی منتشر شده‌اند. نسخه 1.2.0-beta03 شامل این commit-ها است.

نسخه 1.2.0-beta02

۲۲ مارس ۲۰۲۳

‫androidx.tracing:tracing:1.2.0-beta02 و androidx.tracing:tracing-ktx:1.2.0-beta02 بدون هیچ تغییری نسبت‌به نسخه بتای قبلی منتشر شده‌اند. نسخه 1.2.0-beta02 شامل این commit-ها است.

نسخه 1.2.0-beta01

۸ مارس ۲۰۲۳

‫androidx.tracing:tracing:1.2.0-beta01 و androidx.tracing:tracing-ktx:1.2.0-beta01 بدون تغییر نسبت‌به آخرین نسخه آلفا منتشر شده‌اند. نسخه 1.2.0-beta01 شامل این commit-ها است.

نسخه 1.2.0-alpha02

۲۳ فوریه ۲۰۲۳

androidx.tracing:tracing:1.2.0-alpha02 و androidx.tracing:tracing-ktx:1.2.0-alpha02 بدون تغییر نسبت به نسخه آلفای قبلی منتشر شده‌اند. نسخه 1.2.0-alpha02 حاوی این commitها است.

رفع اشکال‌ها

  • این نسخه خطای Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02 را هنگام ارتقا به androidx.tracing: tracing-perfetto-common:1.0.0-alpha11 برطرف می‌کند

نسخه 1.2.0-alpha01

‫۵ اکتبر ۲۰۲۲

‫androidx.tracing:tracing:1.2.0-alpha01 و androidx.tracing:tracing-ktx:1.2.0-alpha01 منتشر شدند. نسخه 1.2.0-alpha01 شامل این تعهدات است.

ویژگی‌های جدید

  • ‫trace() و traceAsync() گونه را با محاسبات رشته و کوکی تنبل اضافه کنید. همچنین اکنون اگر Trace.begin پرتاب کند، به‌درستی از Trace.end رد می‌شود. (I31421، b/175233952، b/247066503)

نسخه ۱.۱

نسخه ۱.۱.۰

‫۱۱ مه ۲۰۲۲

‫androidx.tracing:tracing:1.1.0 و androidx.tracing:tracing-ktx:1.1.0 منتشر شده‌اند. نسخه ۱.۱.۰ حاوی این ارسال‌ها است.

تغییرات مهم از نسخه ۱.۰.۰

  • یک API برای فعال کردن اجباری ضبط بخش ردیابی برنامه (یعنی APIهای android.os.Trace / androidx.tracing) در ساخت‌های غیرقابل‌اشکال‌زدایی اضافه شدTrace.forceEnableAppTracing(). این را در ابتدای راه‌اندازی فراخوانی کنید تا ردیابی دقیق سیستم غیرقابل اشکال‌زدایی را قبل‌از معرفی برچسب مانیفست قابل‌نمایه‌گذاری در API 29 فعال کنید. (I3a309)
  • Avoid class verification errors when Trace.java is loaded for the first time (05f6b4 and cb101f)

نسخه 1.1.0-rc01

‫۲۰ آوریل ۲۰۲۲

‫androidx.tracing:tracing:1.1.0-rc01 و androidx.tracing:tracing-ktx:1.1.0-rc01 منتشر شده‌اند و از beta01 تغییری نکرده‌اند. نسخه 1.1.0-rc01 حاوی این تعهدات است.

نسخه 1.1.0-beta01

‫۱ دسامبر ۲۰۲۱

‫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

‫۱۷ نوامبر ۲۰۲۱

‫androidx.tracing:tracing:1.1.0-alpha02 و androidx.tracing:tracing-ktx:1.1.0-alpha02 منتشر شدند. نسخه 1.1.0-alpha02 شامل این تعهدها است.

ویژگی‌های جدید

  • Trace.forceEnableAppTracing()‎ به میانای برنامه‌سازی کاربردی اضافه شد تا ضبط بخش ردیابی برنامه (یعنی میاناهای برنامه‌سازی کاربردی android.os.Trace / andoridx.tracing) را در نسخه‌های ساخت غیرقابل‌اشکال‌زدایی به‌اجبار فعال کند. این را در ابتدای راه‌اندازی فراخوانی کنید تا ردیابی دقیق سیستم غیرقابل‌اشکال‌زدایی را قبل‌از معرفی برچسب مانیفست قابل‌نمایه‌سازی در میانای برنامه‌سازی کاربردی ۲۹ فعال کنید. (I3a309)

نسخه 1.1.0-alpha01

۳ نوامبر ۲۰۲۱

‫androidx.tracing:tracing:1.1.0-alpha01 و androidx.tracing:tracing-ktx:1.1.0-alpha01 منتشر شده‌اند. نسخه 1.1.0-alpha01 حاوی این commit-ها است.

رفع اشکال‌ها

  • Avoid class verification errors when Trace.java is loaded for the first time (05f6b4 and cb101f)

نسخه 1.0

نسخه ۱.۰.۰

‫۲۸ اکتبر ۲۰۲۰

‫androidx.tracing:tracing:1.0.0 و androidx.tracing:tracing-ktx:1.0.0 منتشر شده‌اند. نسخه ۱.۰.۰ حاوی این ارسال‌ها است.

ویژگی‌های اصلی نسخه 1.0.0

به نوشتن رویدادهای ردیابی در میان‌گیر ردیابی سیستم کمک می‌کند. این کار را می‌توان بااستفاده از ابزارهایی مثل Systrace و Perfetto تجسم کرد. این کتابخانه جایگزین کلاس منسوخ‌شده androidx.core.os.TraceCompat می‌شود.

نسخه 1.0.0-rc01

‫۱۴ اکتبر ۲۰۲۰

‫androidx.tracing:tracing:1.0.0-rc01 و androidx.tracing:tracing-ktx:1.0.0-rc01 منتشر شده‌اند. نسخه 1.0.0-rc01 حاوی این commit-ها است.

این نسخه پخش با 1.0.0-beta01 یکسان است.

نسخه 1.0.0-beta01

۲۴ ژوئن ۲۰۲۰

‫androidx.tracing:tracing:1.0.0-beta01 و androidx.tracing:tracing-ktx:1.0.0-beta01 بدون تغییر از 1.0.0-alpha01 منتشر شده‌اند. نسخه 1.0.0-beta01 شامل این commit-ها است.

نسخه 1.0.0-alpha01

‫۱۰ ژوئن ۲۰۲۰ (۲۱ خرداد ۱۳۹۹)

‫androidx.tracing:tracing:1.0.0-alpha01 و androidx.tracing:tracing-ktx:1.0.0-alpha01 منتشر شده‌اند. نسخه 1.0.0-alpha01 حاوی این commit-ها است.

ویژگی‌های جدید

‫androidx.tracing کتابخانه‌ای است که به نوشتن رویدادهای ردیابی در میان‌گیر ردیابی سیستم کمک می‌کند. این را می‌توان بااستفاده از ابزارهایی مثل Systrace و Perfetto به‌تصویر کشید. این کتابخانه جایگزین کلاس منسوخ‌شده androidx.core.os.TraceCompat می‌شود. این نسخهٔ پخش اولیه 1.0.0-alpha01 است.

ردیابی Perfetto

نسخه 1.0

نسخه ۱.۰.۱

‫۱۹ نوامبر ۲۰۲۵

‫androidx.tracing:tracing-perfetto:1.0.1،‏ androidx.tracing:tracing-perfetto-binary:1.0.1، و androidx.tracing:tracing-perfetto-handshake:1.0.1 منتشر شده‌اند. نسخه ۱.۰.۱ شامل این تعهدات است.

رفع اشکال‌ها

  • پشتیبانی از اندازه‌های صفحه ۱۶ کیلوبایتی (b7a7dd)
  • طرح‌بندی دستی دسترسی به میاناهای برنامه‌سازی کاربردی پلاتفرم جدید برداشته شد زیرا این کار به‌طور خودکار ازطریق مدل‌سازی میانای برنامه‌سازی کاربردی هنگام استفاده از R8 با AGP نسخه ۷.۳ یا جدیدتر (مثلاً R8 نسخه ۳.۳) و برای همه ساخت‌ها هنگام استفاده از AGP نسخه ۸.۱ یا جدیدتر (مثلاً D8 نسخه ۸.۱) انجام می‌شود. به کارخواهانی که از AGP استفاده نمی‌کنند توصیه می‌شود به D8 نسخه ۸.۱ یا بالاتر به‌روزرسانی کنند. برای جزئیات بیشتر، این مقاله را ببینید. (Ia60e0، b/345472586)
  • از بسته‌بندی نسخه‌های FastNative/CriticalNative در کتابخانه اجتناب کنید و از نسخه‌های پلاتفرم پایدار استفاده کنید. (I8238a، b/35664282، b/280878596)

نسخه ۱.۰.۰

۴ اکتبر ۲۰۲۳

‫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

  • این اولین نسخه پخش پایدار کتابخانه‌های Tracing-perfetto است.

نسخه 1.0.0-rc01

‫۲۰ سپتامبر ۲۰۲۳

‫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 شامل این commit-ها است.

نسخه 1.0.0-beta03

‫۳۰ اوت ۲۰۲۳

‫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 شامل این commit-ها است.

  • افزایش نسخه برای مطابقت با انتشار androidx.benchmark.

نسخه 1.0.0-beta02

۲۳ اوت ۲۰۲۳

‫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 شامل این تعهدات است.

ویژگی‌های جدید

  • پشتیبانی از ردیابی در راه‌اندازی برنامه (راه‌اندازی سرد) فعال شد.

نسخه 1.0.0-beta01

‫۱۸ ژوئیه ۲۰۲۳

‫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 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام androidx.tracing.perfetto.Trace به androidx.tracing.perfetto.PerfettoSdkTrace تغییر کرد (I44af8)
  • Renamed "exit code" to "result code" constants in the protocol for consistency (Id1d1e)
  • نام EnableTracingResponse به Response تغییر کرد. (I56275)
  • گزینه‌ای برای فعال کردن ردیابی شروع سرد در حالت ماندگار اضافه شد. تابعی برای پاک کردن ردیابی شروع سرد (پایدار یا ناپایدار) اضافه شد. (Iaa09d)
  • میاناهای برنامه‌سازی کاربردی «کیت توسعه نرم‌افزار ردیابی Perfetto» با android.os.Trace سازگار شد. (I73ba0، b/282199917)
  • به الگوی کارخانه‌ای برای LibrarySource منتقل شد تا درصورت نیاز، موارد استفاده آتی (برای نمونه، بار کردن مستقیم فایل .so) به‌راحتی به «میانای برنامه‌سازی کاربردی» اضافه شود. (I128df)
  • درحال تطبیق enableTracingColdStart پارامتر با enableTracingImmediate (I54126)
  • ‫killProcess متغیر مستقل در enableTracingColdStart برداشته شد (I81c4d)

نسخه 1.0.0-alpha17

۲۱ ژوئن ۲۰۲۳

‫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

۷ ژوئن ۲۰۲۳

‫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

۳ مه ۲۰۲۳

‫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 شامل این commit-ها است.

نسخه 1.0.0-alpha14

۵ آوریل ۲۰۲۳

‫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 شامل این commit-ها است.

نسخه 1.0.0-alpha13

۲۲ مارس ۲۰۲۳

‫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 شامل این commit-ها است.

نسخه 1.0.0-alpha12

۸ مارس ۲۰۲۳

‫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

۲۲ فوریه ۲۰۲۳ (۳ اسفند ۱۴۰۱)

‫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 حاوی این commit-ها است.

نسخه 1.0.0-alpha10

۸ فوریه ۲۰۲۳

‫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 حاوی این commit-ها است.

نسخه 1.0.0-alpha09

۱۰ فوریه ۲۰۲۳

‫androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این تعهدات است.

ویژگی‌های جدید

  • انتشار نسخه جدید برای اینکه دیگر کتابخانه‌های androidx.tracing:tracing-perfetto*: 1.0.0-alpha09 بتوانند باهم کار کنند.

۱۱ ژانویه ۲۰۲۳

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

‫۷ دسامبر ۲۰۲۲

‫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

‫۹ نوامبر ۲۰۲۲

‫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 شامل این commit-ها است.

  • سربار JNI میاناهای برنامه‌سازی کاربردی androidx.tracing:tracing-perfetto کاهش یافته است.

نسخه 1.0.0-alpha06

‫۲۴ اکتبر ۲۰۲۲

‫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 حاوی این commit-ها است.

  • این به‌روزرسانی هیچ تغییری ندارد و فقط شماره نسخه را به‌روز می‌کند تا با androidx.benchmark همگام‌سازی شود.

نسخه 1.0.0-alpha05

۵ اکتبر ۲۰۲۲

‫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 شامل این commit-ها است.

نسخه 1.0.0-alpha04

‫۲۱ سپتامبر ۲۰۲۲

‫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

۷ سپتامبر ۲۰۲۲

‫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

‫۲۴ اوت ۲۰۲۲

‫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 را تهی‌پذیر کردیم، زیرا اگر نتوانیم با بسته ارتباط برقرار کنیم نمی‌توانیم نسخه را بدانیم. (I5ba20)

نسخه 1.0.0-alpha01

۲۷ ژوئیه ۲۰۲۲

‫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 استفاده کنند.