ردیابی

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

بازخورد

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

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

ردیابی

نسخه ۲.۰

نسخه ۲.۰.۰

۱۲ آگوست ۲۰۲۶

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

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

API جدید در حال پردازش موارد زیر را فعال می‌کند:

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

توجه داشته باشید که APIهای ردیابی جدید، داده‌ها را در یک بافر کنترل‌شده توسط فرآیند ثبت می‌کنند که هنوز توسط ضبط ردیابی سیستم Studio ثبت نشده است. این مشکل در Studio Profilers در نسخه بعدی برطرف خواهد شد.

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

نسخه ۲.۰.۰-rc01

۲۹ ژوئیه ۲۰۲۶

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

نسخه ۲.۰.۰-بتا۰۱

۱۵ ژوئیه ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-alpha09

۲۳ ژوئن ۲۰۲۶

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 را برای کتابخانه‌های جاوا و اندروید ساده و قابل اتصال کنید. ( I99111 )
  • کشف نمونه‌ای از TraceDriver که می‌تواند برای ردیابی در حین فرآیند استفاده شود را برای توسعه‌دهندگان کتابخانه آسان کنید. ( Ia503e )

نسخه ۲.۰.۰-آلفا۰۸

۱۹ مه ۲۰۲۶

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

تغییرات API

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

نسخه ۲.۰.۰-آلفا۰۷

۶ مه ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-alpha06

۲۲ آوریل ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-آلفا۰۵

۸ آوریل ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-آلفا۰۴

۲۵ مارس ۲۰۲۶

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

تغییرات API

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

نسخه ۲.۰.۰-alpha03

۱۱ مارس ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-آلفا۰۲

۲۵ فوریه ۲۰۲۶

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

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

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

نسخه ۲.۰.۰-alpha01

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

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

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

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

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

این نسخه آلفای اولیه فقط برای گردش‌های کاری ردیابی در حین فرآیند در نظر گرفته شده است و هنوز با ردیابی سیستم عامل اندروید یا ردیابی سیستم 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 )
  • APIهای BlackHole را در androidx.benchmark پایدار کنید. ( I2b67e ، b/451749438 )
  • قابلیت حاشیه‌نویسی بخش ردیابی به عنوان یک محدوده ریشه ( Ic8365 ) اضافه شود.
  • به توسعه‌دهنده اجازه دهید در مورد توکن‌های انتشار صریحاً توضیح دهد. ( I06bb1 )
  • نام MetadataHandleCloseable به EventMetadataCloseable و MetadataHandle به EventMetadata تغییر یافت. همچنین یک آرگومان اختیاری CoroutinePropagationToken به Tracer.traceCoroutine اضافه شد تا به توسعه‌دهنده اجازه دهد توکن انتشار مورد استفاده را به صراحت مشخص کند. ( I219f7 ، b/454147392 )
  • یک نقطه ورود جدید Tracer معرفی شد که به توسعه‌دهندگان کنترل بسیار بیشتری در مورد نحوه ردیابی می‌دهد. ( I24a7b )
  • قابلیت کنترل نحوه انتشار متن در SliceTrack را اضافه کنید. ( Ieb8fc )
  • fillCount در PooledTracePacketArray اکنون به درستی volatile علامت گذاری شده است. ( I75d2c )
  • علامت‌گذاری MetadataEntry @DelicateTracingApi . ( I8c723 )
  • قابلیتی را به TraceSink اضافه کنید تا بتواند رویدادهای ردیابی از دست رفته (زمانی که مخزن خالی شده است) را مدیریت کند. ( I3b374 )
  • قابلیت انتشار مشروط رویدادهای ردیابی بر اساس یک گزاره را اضافه کنید. ( I621b4 )
  • قابلیت افزودن دسته‌بندی‌ها به رویداد ردیابی را اضافه کنید. ( I449c2 )
  • TraceEvent و PooledTracePacketArray به عنوان DelicateTracingApi علامت گذاری کنید. ( Iaac6d )
  • ProcessTrack.id ، ThreadTrack.id ، ThreadTrack.name ، CounterTrack.name و CounterTrack.parent را عمومی کنید. ( I81210 )
  • API مربوط به SliceTrack.traceFlow() را به traceCoroutine() تغییر نام داد. ( I79ad0 )
  • قابلیت افزودن اطلاعات زمینه‌ای به برش‌ها از طریق حاشیه‌نویسی‌های اشکال‌زدایی در یک مسیر Perfetto اضافه شود. ( Ic2b56 )
  • امکان ساخت یک نمونه از WireTraceSink با یک File / OutputStream ( Iecea0 ) را فراهم کنید.
  • حذف حاشیه‌نویسی‌های منسوخ‌شده‌ی @RequiresApi(21) ( Ic4792 )

نسخه ۱.۳

نسخه ۱.۳.۰

۲۳ آوریل ۲۰۲۵

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

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

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

نسخه ۱.۳.۰-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 شامل این کامیت‌ها است.

نسخه ۱.۳.۰-بتا۰۱

۱۲ فوریه ۲۰۲۵

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 به کاتلین تبدیل شد. ( Ie4e5d )

رفع اشکالات

  • حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدل‌سازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخه‌ها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به D8 نسخه 8.1 یا بالاتر به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 ، b/345472586 )

نسخه ۱.۳.۰-آلفا۰۲

۲۱ ژوئن ۲۰۲۳

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

نسخه ۱.۳.۰-آلفا۰۱

۷ ژوئن ۲۰۲۳

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

تغییرات API

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

نسخه ۱.۲

نسخه ۱.۲.۰

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

androidx.tracing:tracing:1.2.0 و androidx.tracing:tracing-ktx:1.2.0 منتشر شدند. نسخه ۱.۲.۰ شامل این کامیت‌ها است.

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

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

نسخه ۱.۲.۰-rc01

۲۴ مه ۲۰۲۳

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

رفع اشکالات

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

نسخه ۱.۲.۰-بتا۰۴

۳ مه ۲۰۲۳

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

نسخه ۱.۲.۰-بتا۰۳

۵ آوریل ۲۰۲۳

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

نسخه ۱.۲.۰-بتا۰۲

۲۲ مارس ۲۰۲۳

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

نسخه ۱.۲.۰-بتا۰۱

۸ مارس ۲۰۲۳

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

نسخه ۱.۲.۰-آلفا۰۲

۲۳ فوریه ۲۰۲۳

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 را برطرف می‌کند.

نسخه ۱.۲.۰-آلفا۰۱

۵ اکتبر ۲۰۲۲

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 منتشر شدند. نسخه ۱.۱.۰ شامل این کامیت‌ها است.

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

  • Trace.forceEnableAppTracing() یک API برای فعال کردن اجباری ضبط بخش ردیابی برنامه (یعنی android.os.Trace / androidx.tracing APIs) در نسخه‌های غیر قابل اشکال‌زدایی اضافه شد. این API را در ابتدای راه‌اندازی فراخوانی کنید تا ردیابی دقیق سیستم غیر قابل اشکال‌زدایی را قبل از معرفی تگ manifest قابل نمایه‌سازی در API 29 فعال کنید. ( I3a309 )
  • جلوگیری از خطاهای تأیید کلاس هنگام بارگذاری Trace.java برای اولین بار ( 05f6b4 و cb101f )

نسخه ۱.۱.۰-rc01

۲۰ آوریل ۲۰۲۲

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

نسخه ۱.۱.۰-بتا۰۱

۱ دسامبر ۲۰۲۱

androidx.tracing:tracing:1.1.0-beta01 و androidx.tracing:tracing-ktx:1.1.0-beta01 منتشر شدند. نسخه 1.1.0-beta01 شامل این کامیت‌ها است.

از زمان 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() یک API برای فعال کردن اجباری ضبط بخش ردیابی برنامه (یعنی android.os.Trace / andoridx.tracing APIs) در نسخه‌های غیر قابل اشکال‌زدایی اضافه شد. این API را در ابتدای راه‌اندازی فراخوانی کنید تا ردیابی دقیق سیستم غیر قابل اشکال‌زدایی را قبل از معرفی تگ manifest قابل نمایه‌سازی در API 29 فعال کنید. ( I3a309 )

نسخه ۱.۱.۰-آلفا۰۱

۳ نوامبر ۲۰۲۱

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

رفع اشکالات

  • جلوگیری از خطاهای تأیید کلاس هنگام بارگذاری Trace.java برای اولین بار ( 05f6b4 و cb101f )

نسخه ۱.۰

نسخه ۱.۰.۰

۲۸ اکتبر ۲۰۲۰

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

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

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

نسخه ۱.۰.۰-rc01

۱۴ اکتبر ۲۰۲۰

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

این نسخه مشابه نسخه 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 شامل این کامیت‌ها است.

نسخه ۱.۰.۰-آلفا۰۱

۱۰ ژوئن ۲۰۲۰

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 است.

ردیابی پرفتو

نسخه ۱.۰

نسخه ۱.۰.۱

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

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

رفع اشکالات

  • پشتیبانی از صفحات با اندازه ۱۶ کیلوبایت ( b7a7dd )
  • حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدل‌سازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخه‌ها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به D8 نسخه 8.1 یا بالاتر به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( 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 منتشر شدند. نسخه ۱.۰.۰ شامل این کامیت‌ها است.

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

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

نسخه ۱.۰.۰-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 شامل این کامیت‌ها است.

نسخه ۱.۰.۰-بتا۰۳

۳۰ آگوست ۲۰۲۳

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 تغییر کرد.

نسخه ۱.۰.۰-بتا۰۲

۲۳ آگوست ۲۰۲۳

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

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

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

نسخه ۱.۰.۰-بتا۰۱

۱۸ ژوئیه ۲۰۲۳

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 )
  • برای سازگاری، نام ثابت‌های «کد خروج» در پروتکل به «کد نتیجه» تغییر یافت ( Id1d1e )
  • نام EnableTracingResponse به Response تغییر یافت. ( I56275 )
  • گزینه‌ای برای فعال کردن ردیابی شروع سرد در حالت پایدار اضافه شد. تابعی برای پاک کردن ردیابی شروع سرد (پایدار یا غیرپایدار) اضافه شد. ( Iaa09d )
  • APIهای SDK مربوط به Tracing Perfetto با android.os.Trace سازگار شدند. ( I73ba0 ، b/282199917 )
  • برای LibrarySource به یک الگوی کارخانه‌ای منتقل شد که امکان اضافه کردن موارد استفاده بعدی (مثلاً بارگذاری مستقیم فایل .so ) را به API در صورت نیاز به راحتی فراهم می‌کند. ( I128df )
  • تطبیق پارامترهای enableTracingColdStart با enableTracingImmediate ( I54126 )
  • آرگومان killProcess در enableTracingColdStart ( I81c4d ) حذف شد.

نسخه ۱.۰.۰-آلفا۱۷

۲۱ ژوئن ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۶

۷ ژوئن ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۵

۳ مه ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۴

۵ آوریل ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۳

۲۲ مارس ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۲

۸ مارس ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۱

۲۲ فوریه ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۱۰

۸ فوریه ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۰۹

۱۰ فوریه ۲۰۲۳

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

نسخه ۱.۰.۰-آلفا۰۸

۷ دسامبر ۲۰۲۲

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 در صورت استفاده از کلاس جلوگیری می‌کند (از خرابی در موارد خاص هنگام مقداردهی اولیه ردیابی جلوگیری می‌کند، اما هیچ فراخوانی ردیابی در برنامه وجود ندارد).

نسخه ۱.۰.۰-آلفا۰۷

۹ نوامبر ۲۰۲۲

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 کاهش یافت.

نسخه ۱.۰.۰-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 شامل این کامیت‌ها است.

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

نسخه ۱.۰.۰-آلفا۰۵

۵ اکتبر ۲۰۲۲

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

نسخه ۱.۰.۰-آلفا۰۴

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

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

نسخه ۱.۰.۰-آلفا۰۳

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

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 منتشر شدند.

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

  • هیچ ویژگی جدیدی از نسخه ۱.۰.۰-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 را nullable کردیم، زیرا اگر نتوانیم با پکیج ارتباط برقرار کنیم، نمی‌توانیم نسخه آن را بدانیم. ( I5ba20 )

نسخه ۱.۰.۰-آلفا۰۱

۲۷ ژوئیه ۲۰۲۲

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

  • androidx.tracing:tracing-perfetto-binary مجموعه‌ای از وابستگی‌های دودویی مورد نیاز برای androidx.tracing:tracing-perfetto است.

  • androidx.tracing:tracing-perfetto-common یک وابستگی داخلی androidx.tracing:tracing-perfetto است و می‌تواند توسط ابزار برای ادغام با androidx.tracing:tracing-perfetto مورد استفاده قرار گیرد.

،

ردیابی

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

بازخورد

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

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

ردیابی

نسخه ۲.۰

نسخه ۲.۰.۰

۱۲ آگوست ۲۰۲۶

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

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

API جدید در حال پردازش موارد زیر را فعال می‌کند:

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

توجه داشته باشید که APIهای ردیابی جدید، داده‌ها را در یک بافر کنترل‌شده توسط فرآیند ثبت می‌کنند که هنوز توسط ضبط ردیابی سیستم Studio ثبت نشده است. این مشکل در Studio Profilers در نسخه بعدی برطرف خواهد شد.

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

نسخه ۲.۰.۰-rc01

۲۹ ژوئیه ۲۰۲۶

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

نسخه ۲.۰.۰-بتا۰۱

۱۵ ژوئیه ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-alpha09

۲۳ ژوئن ۲۰۲۶

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 را برای کتابخانه‌های جاوا و اندروید ساده و قابل اتصال کنید. ( I99111 )
  • کشف نمونه‌ای از TraceDriver که می‌تواند برای ردیابی در حین فرآیند استفاده شود را برای توسعه‌دهندگان کتابخانه آسان کنید. ( Ia503e )

نسخه ۲.۰.۰-آلفا۰۸

۱۹ مه ۲۰۲۶

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

تغییرات API

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

نسخه ۲.۰.۰-آلفا۰۷

۶ مه ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-alpha06

۲۲ آوریل ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-آلفا۰۵

۸ آوریل ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

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

نسخه ۲.۰.۰-آلفا۰۴

۲۵ مارس ۲۰۲۶

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

تغییرات API

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

نسخه ۲.۰.۰-alpha03

۱۱ مارس ۲۰۲۶

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

تغییرات API

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

رفع اشکالات

  • androidx.tracing no longer attempts to draw connections from parent to child coroutines in traces by default. This has been confusing, since the underlying trace format doesn't support 1:N and N:1 connections, resulting in a nest of arrows due to ambiguity about which coroutine slice connects to what. You can still manually opt-in to propagation with the tokenForManualPropagation() API when it's important for your use case. ( Ib2cf9 )

Version 2.0.0-alpha02

۲۵ فوریه ۲۰۲۶

androidx.tracing:tracing-*:2.0.0-alpha02 is released. Version 2.0.0-alpha02 contains these commits .

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

  • Improved performance for the Perfetto Trace Sink implementation by using the suspendCoroutineUninterceptedOrReturn intrinsic ( 2ea97b ).

Version 2.0.0-alpha01

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

androidx.tracing:tracing-*:2.0.0-alpha01 is released. Version 2.0.0-alpha01 contains these commits .

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

AndroidX Tracing 2.0 introduces a significant new API surface for low-overhead, in-process tracing, as a complement to the existing android.os.Tracing -based APIs in Tracing 1.0. The new APIs are available both on Android and host JVM, which enables host tools to emit low overhead traces for performance analysis, using the same standard Perfetto trace format.

Emitted traces are supported both by Android Studio and Perfetto, and can be recorded with an expanded feature set including tagging slices with metadata (such as function arguments!), and coroutine context trace propagation.

This initial alpha is only meant for in-process tracing workflows, and does not yet integrate with Android OS tracing or Studio Profiler System Tracing - these will be coming in a future alpha.

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

  • Make Tracer a property of the TraceDriver . ( Iabd9b )
  • Add support for manual context propagation. ( I899ff )
  • Add the ability to add call stack information in a trace section. ( If6a1b )
  • Introduce the new androidx.tracing APIs. ( I5102b )
  • Allow instant events to contain metadata, and add counters to instants & counters. ( Ia2ed3 )
  • Reduce the surface area of the API annotated with @DelicateTracingApi . Nothing in the top level API should require the use of @DelicateTracingApi . ( I565e0 )
  • Simplify context propagation by unifying PropagationToken s. ( Iab839 )
  • Stabilize BlackHole APIs in androidx.benchmark . ( I2b67e , b/451749438 )
  • Add the ability to annotate the trace section as a root span. ( Ic8365 )
  • Allow the developer to explicit about propagation tokens. ( I06bb1 )
  • Renamed MetadataHandleCloseable to EventMetadataCloseable , and MetadataHandle to EventMetadata . Also added an optional CoroutinePropagationToken argument to Tracer.traceCoroutine to allow the developer to explicitly specify the propagation token to use. ( I219f7 , b/454147392 )
  • Introduced a new Tracer entry point which gives developers a lot more control on how to trace. ( I24a7b )
  • Add the ability to control how context propagation happens in a SliceTrack . ( Ieb8fc )
  • fillCount in PooledTracePacketArray is now correctly marked volatile. ( I75d2c )
  • Mark MetadataEntry @DelicateTracingApi . ( I8c723 )
  • Add the ability for a TraceSink to be able to handle lost trace events (when the pool is exhausted). ( I3b374 )
  • Add the ability to conditionally emit trace events based on a predicate. ( I621b4 )
  • Add the ability to add categories to a trace event. ( I449c2 )
  • Mark TraceEvent , PooledTracePacketArray as DelicateTracingApi . ( Iaac6d )
  • Make ProcessTrack.id , ThreadTrack.id , ThreadTrack.name , CounterTrack.name and CounterTrack.parent public. ( I81210 )
  • Renamed the SliceTrack.traceFlow() API to traceCoroutine() . ( I79ad0 )
  • Add the ability to add contextual information to slices via debug annotations in a Perfetto trace. ( Ic2b56 )
  • Make it possible to construct an instance of WireTraceSink with a File / OutputStream . ( Iecea0 )
  • Removing obsolete @RequiresApi(21) annotations ( Ic4792 )

Version 1.3

نسخه ۱.۳.۰

۲۳ آوریل ۲۰۲۵

androidx.tracing:tracing:1.3.0 , androidx.tracing:tracing-android:1.3.0 , and androidx.tracing:tracing-ktx:1.3.0 are released. Version 1.3.0 contains these commits .

Important changes since 1.2.0

  • Converted androidx.tracing.Trace class to Kotlin, and moved all code from the tracing-ktx module to tracing .
  • Remove crossinline from trace to allow using in a @Composable . ( I53882 , b/248344805 )

Version 1.3.0-rc01

۹ آوریل ۲۰۲۵

androidx.tracing:tracing:1.3.0-rc01 , androidx.tracing:tracing-android:1.3.0-rc01 , and androidx.tracing:tracing-ktx:1.3.0-rc01 are released with no changes since the last beta. Version 1.3.0-rc01 contains these commits .

Version 1.3.0-beta01

۱۲ فوریه ۲۰۲۵

androidx.tracing:tracing:1.3.0-beta01 , androidx.tracing:tracing-android:1.3.0-beta01 , and androidx.tracing:tracing-ktx:1.3.0-beta01 are released. Version 1.3.0-beta01 contains these commits .

تغییرات API

  • Moved all the code from the tracing-ktx module to tracing . ( Iba550 )
  • Converted androidx.tracing.Trace class to Kotlin. ( Ie4e5d )

رفع اشکالات

  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( Ia60e0 , b/345472586 )

Version 1.3.0-alpha02

۲۱ ژوئن ۲۰۲۳

androidx.tracing:tracing:1.3.0-alpha02 and androidx.tracing:tracing-ktx:1.3.0-alpha02 are released with no changes from previous alpha. Version 1.3.0-alpha02 contains these commits.

Version 1.3.0-alpha01

۷ ژوئن ۲۰۲۳

androidx.tracing:tracing:1.3.0-alpha01 and androidx.tracing:tracing-ktx:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.

تغییرات API

  • Remove crossinline from trace to allow using in a @Composable . ( I53882 , b/248344805 )

Version 1.2

نسخه ۱.۲.۰

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

androidx.tracing:tracing:1.2.0 and androidx.tracing:tracing-ktx:1.2.0 are released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Add trace() and traceAsync() variants with lazy string and cookie computation. Also now correctly skips Trace.end if Trace.begin throws.

Version 1.2.0-rc01

May 24, 2023

androidx.tracing:tracing:1.2.0-rc01 and androidx.tracing:tracing-ktx:1.2.0-rc01 are released. Version 1.2.0-rc01 contains these commits.

رفع اشکالات

  • Prevent crashes when long trace section names are passed by truncating automatically ( Iaf6e2 )

Version 1.2.0-beta04

۳ مه ۲۰۲۳

androidx.tracing:tracing:1.2.0-beta04 and androidx.tracing:tracing-ktx:1.2.0-beta04 are released with no changes. Version 1.2.0-beta04 contains these commits.

Version 1.2.0-beta03

۵ آوریل ۲۰۲۳

androidx.tracing:tracing:1.2.0-beta03 and androidx.tracing:tracing-ktx:1.2.0-beta03 are released with no new changes. Version 1.2.0-beta03 contains these commits.

Version 1.2.0-beta02

March 22, 2023

androidx.tracing:tracing:1.2.0-beta02 and androidx.tracing:tracing-ktx:1.2.0-beta02 are released with no changes since the previous beta. Version 1.2.0-beta02 contains these commits.

Version 1.2.0-beta01

۸ مارس ۲۰۲۳

androidx.tracing:tracing:1.2.0-beta01 and androidx.tracing:tracing-ktx:1.2.0-beta01 are released with no changes since the last alpha. Version 1.2.0-beta01 contains these commits.

Version 1.2.0-alpha02

۲۳ فوریه ۲۰۲۳

androidx.tracing:tracing:1.2.0-alpha02 and androidx.tracing:tracing-ktx:1.2.0-alpha02 are released with no changes from the previous alpha. Version 1.2.0-alpha02 contains these commits.

رفع اشکالات

  • This release will fix a Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02 error when upgrading to androidx.tracing: tracing-perfetto-common:1.0.0-alpha11

Version 1.2.0-alpha01

October 5, 2022

androidx.tracing:tracing:1.2.0-alpha01 and androidx.tracing:tracing-ktx:1.2.0-alpha01 are released. Version 1.2.0-alpha01 contains these commits.

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

  • Add trace() and traceAsync() variants with lazy string and cookie computation. Also now correctly skips Trace.end if Trace.begin throws. ( I31421 , b/175233952 , b/247066503 )

Version 1.1

Version 1.1.0

۱۱ مه ۲۰۲۲

androidx.tracing:tracing:1.1.0 and androidx.tracing:tracing-ktx:1.1.0 are released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

  • Added Trace.forceEnableAppTracing() an API to force-enable app trace section capture (ie android.os.Trace / androidx.tracing APIs) on non-debuggable builds. Call this at the beginning of startup to enable non-debuggable accurate system tracing before the introduction of the profileable manifest tag in API 29. ( I3a309 )
  • Avoid class verification errors when Trace.java is loaded for the first time ( 05f6b4 and cb101f )

Version 1.1.0-rc01

۲۰ آوریل ۲۰۲۲

androidx.tracing:tracing:1.1.0-rc01 and androidx.tracing:tracing-ktx:1.1.0-rc01 are released, with no changes since beta01 . Version 1.1.0-rc01 contains these commits.

Version 1.1.0-beta01

۱ دسامبر ۲۰۲۱

androidx.tracing:tracing:1.1.0-beta01 and androidx.tracing:tracing-ktx:1.1.0-beta01 are released. Version 1.1.0-beta01 contains these commits.

No changes since 1.1.0-alpha02 .

Version 1.1.0-alpha02

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

androidx.tracing:tracing:1.1.0-alpha02 and androidx.tracing:tracing-ktx:1.1.0-alpha02 are released. Version 1.1.0-alpha02 contains these commits.

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

  • Added Trace.forceEnableAppTracing() an API to force-enable app trace section capture (ie android.os.Trace / andoridx.tracing APIs) on non-debuggable builds. Call this at the beginning of startup to enable non-debuggable accurate system tracing before the introduction of the profileable manifest tag in API 29. ( I3a309 )

Version 1.1.0-alpha01

November 3, 2021

androidx.tracing:tracing:1.1.0-alpha01 and androidx.tracing:tracing-ktx:1.1.0-alpha01 are released. Version 1.1.0-alpha01 contains these commits.

رفع اشکالات

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

نسخه ۱.۰

Version 1.0.0

۲۸ اکتبر ۲۰۲۰

androidx.tracing:tracing:1.0.0 and androidx.tracing:tracing-ktx:1.0.0 are released. Version 1.0.0 contains these commits.

Major features of 1.0.0

Helps write trace events to the system trace buffer. This can be visualized using tools like Systrace and Perfetto. This library replaces the deprecated androidx.core.os.TraceCompat class.

Version 1.0.0-rc01

۱۴ اکتبر ۲۰۲۰

androidx.tracing:tracing:1.0.0-rc01 and androidx.tracing:tracing-ktx:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.

This release is identical to 1.0.0-beta01 .

نسخه ۱.۰.۰-بتا۰۱

June 24, 2020

androidx.tracing:tracing:1.0.0-beta01 and androidx.tracing:tracing-ktx:1.0.0-beta01 are released with no changes since 1.0.0-alpha01 . Version 1.0.0-beta01 contains these commits.

نسخه ۱.۰.۰-آلفا۰۱

۱۰ ژوئن ۲۰۲۰

androidx.tracing:tracing:1.0.0-alpha01 and androidx.tracing:tracing-ktx:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

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

androidx.tracing is a library which helps write trace events to the system trace buffer. This can be visualized using tools like Systrace and Perfetto. This library replaces the deprecated androidx.core.os.TraceCompat class. This initial release is 1.0.0-alpha01.

Tracing Perfetto

نسخه ۱.۰

Version 1.0.1

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

androidx.tracing:tracing-perfetto:1.0.1 , androidx.tracing:tracing-perfetto-binary:1.0.1 , and androidx.tracing:tracing-perfetto-handshake:1.0.1 are released. Version 1.0.1 contains these commits .

رفع اشکالات

  • Support for 16KB page sizes ( b7a7dd )
  • Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( Ia60e0 , b/345472586 )
  • Avoid bundling copies of FastNative/CriticalNative in the library, and use the stable platform copies. ( I8238a , b/35664282 , b/280878596 )

Version 1.0.0

۴ اکتبر ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0 , androidx.tracing:tracing-perfetto-binary:1.0.0 , and androidx.tracing:tracing-perfetto-handshake:1.0.0 are released. Version 1.0.0 contains these commits.

Major features of 1.0.0

  • This is the first stable release of the Tracing-perfetto libraries.

Version 1.0.0-rc01

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

androidx.tracing:tracing-perfetto:1.0.0-rc01 , androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 are released with no changes since the last beta. Version 1.0.0-rc01 contains these commits.

Version 1.0.0-beta03

۳۰ آگوست ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-beta03 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 are released. Version 1.0.0-beta03 contains these commits.

  • Version bump to match androidx.benchmark release.

Version 1.0.0-beta02

۲۳ آگوست ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-beta02 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 are released. Version 1.0.0-beta02 contains these commits.

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

  • Enabled support for tracing at app startup (cold start).

نسخه ۱.۰.۰-بتا۰۱

۱۸ ژوئیه ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-beta01 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 are released. Version 1.0.0-beta01 contains these commits.

تغییرات API

  • Renamed androidx.tracing.perfetto.Trace to androidx.tracing.perfetto.PerfettoSdkTrace ( I44af8 )
  • Renamed "exit code" to "result code" constants in the protocol for consistency ( Id1d1e )
  • Renamed EnableTracingResponse to Response . ( I56275 )
  • Added an option to enable cold start tracing in a persistent mode. Added a function to clear (persistent or not) cold start tracing. ( Iaa09d )
  • Made Tracing Perfetto SDK APIs consistent with android.os.Trace . ( I73ba0 , b/282199917 )
  • Moved to a factory pattern for LibrarySource allowing for future use-cases (eg loading the .so file directly) to be easily added to the API if needed. ( I128df )
  • Making enableTracingColdStart parameters match enableTracingImmediate ( I54126 )
  • Removed killProcess argument in enableTracingColdStart ( I81c4d )

Version 1.0.0-alpha17

۲۱ ژوئن ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha17 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 are released with no changes from previous alpha. Version 1.0.0-alpha17 contains these commits.

Version 1.0.0-alpha16

۷ ژوئن ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha16 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 are released with no changes from previous alpha. Version 1.0.0-alpha16 contains these commits.

Version 1.0.0-alpha15

۳ مه ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha15 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 are released with no changes. Version 1.0.0-alpha15 contains these commits.

Version 1.0.0-alpha14

۵ آوریل ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha14 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 are released with no new changes. Version 1.0.0-alpha14 contains these commits.

Version 1.0.0-alpha13

March 22, 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha13 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 are released with no changes since the last release. Version 1.0.0-alpha13 contains these commits.

Version 1.0.0-alpha12

۸ مارس ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha12 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 are released with no changes since previous alpha. Version 1.0.0-alpha12 contains these commits.

Version 1.0.0-alpha11

۲۲ فوریه ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha11 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 are released with no changes. Version 1.0.0-alpha11 contains these commits.

Version 1.0.0-alpha10

۸ فوریه ۲۰۲۳

androidx.tracing:tracing-perfetto:1.0.0-alpha10 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 and androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 are released with no changes. Version 1.0.0-alpha10 contains these commits.

Version 1.0.0-alpha09

February 10, 2023

androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.

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

  • Version bump release to allow other androidx.tracing:tracing-perfetto*: 1.0.0-alpha09 libraries to work together.

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

androidx.tracing:tracing-perfetto:1.0.0-alpha09 and androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 are released with no changes. Version 1.0.0-alpha09 contains these commits.

Version 1.0.0-alpha08

۷ دسامبر ۲۰۲۲

androidx.tracing:tracing-perfetto:1.0.0-alpha08 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.

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

  • Improved performance by optimising the way strings are handled.

رفع اشکالات

  • Added a proguard rule preventing methods of PerfettoNative from being pruned if the class is used at all (prevents a crash in a niche case when tracing is initialised, but no tracing calls are present in the app).

Version 1.0.0-alpha07

۹ نوامبر ۲۰۲۲

androidx.tracing:tracing-perfetto:1.0.0-alpha07 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 are released. Version 1.0.0-alpha07 contains these commits.

  • Reduced JNI overhead of androidx.tracing:tracing-perfetto APIs.

Version 1.0.0-alpha06

۲۴ اکتبر ۲۰۲۲

androidx.tracing:tracing-perfetto:1.0.0-alpha06 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

  • This update includes no changes, just updating version number to sync with androidx.benchmark.

نسخه ۱.۰.۰-آلفا۰۵

October 5, 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha05 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.

نسخه ۱.۰.۰-آلفا۰۴

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

androidx.tracing:tracing-perfetto:1.0.0-alpha04 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.

Version 1.0.0-alpha03

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

androidx.tracing:tracing-perfetto:1.0.0-alpha03 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 are released.

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

  • No new features from the 1.0.0-alpha02.

نسخه ۱.۰.۰-آلفا۰۲

۲۴ آگوست ۲۰۲۲

androidx.tracing:tracing-perfetto:1.0.0-alpha02 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.

رفع اشکالات

  • Several improvements to Perfetto service initialization
  • Improved handling of a no-response case by introducing a dedicated exit code: RESULT_CODE_CANCELLED.
  • Improved handling of parsing errors.
  • Made EnableTracingResponse.requiredVersion nullable, as we cannot know the version if we cannot communicate with the package. ( I5ba20 )

نسخه ۱.۰.۰-آلفا۰۱

۲۷ ژوئیه ۲۰۲۲

androidx.tracing:tracing-perfetto:1.0.0-alpha01 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

  • Note: All androidx.tracing:tracing-perfetto* libraries are initially only intended for internal use inside AndroidX libraries. You should have no need to depend on them directly.

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

  • All androidx.tracing:tracing-perfetto* libraries are initially only intended for internal use inside AndroidX libraries. and you should have no need to depend on them directly. We are documenting these implementation details for transparency.

  • androidx.tracing:tracing-perfetto is a library which helps write trace events using low-overhead Perfetto SDK. This can be used inside Benchmark, Android Studio or Perfetto UI.

  • androidx.tracing:tracing-perfetto-binary is a set of binary dependencies required for androidx.tracing:tracing-perfetto.

  • androidx.tracing:tracing-perfetto-common is an internal dependency of androidx.tracing:tracing-perfetto and can be used by tooling to integrate with androidx.tracing:tracing-perfetto.