ট্রেসিং

সিস্টেম ট্রেস বাফারে ট্রেস ইভেন্টগুলো লিখুন।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ রিলিজ প্রার্থী বিটা রিলিজ আলফা রিলিজ
১২ আগস্ট, ২০২৬ ২.০.০ - - -

প্রতিক্রিয়া

আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

ট্রেসিং

সংস্করণ ২.০

সংস্করণ ২.০.০

১২ আগস্ট, ২০২৬

androidx.tracing:tracing-*:2.0.0 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

২.০.০ এর প্রধান বৈশিষ্ট্যসমূহ:

নতুন নির্মাণাধীন এপিআই যা সক্ষম করে:

  • মাঠে, প্রক্রিয়াধীন অবস্থায় ট্রেস কন্টেন্ট রেকর্ড করুন।
  • পারফেট্টো প্রবাহিত হয় (এক স্লাইস থেকে অন্য স্লাইসে তীরচিহ্ন)
  • পারফেট্টো টীকা (কী/ভ্যালু স্লাইস মেটাডেটা)
  • traceCoroutine() {} - কোরাউটিন ট্রেসিং এপিআই যা থ্রেড স্যুইচ ট্রেস করে
  • বিভাগ ফিল্টারিং
  • বিদ্যমান android.os.Trace API এবং trace() {} র‍্যাপারের তুলনায় ওভারহেড উল্লেখযোগ্যভাবে কম।
  • KMP ট্রেসিং - অ্যান্ড্রয়েড নির্ভরতা ছাড়া লাইব্রেরিতে এবং হোস্ট JVM প্রোজেক্টে ব্যবহার করা যায়।
  • সিস্টেম ট্রেস রেকর্ডিং-এর সাথে ঘটনার পরবর্তী একত্রীকরণ (অ্যান্ড্রয়েডএক্স বেঞ্চমার্ক ১.৫-এ ডিফল্টরূপে প্রয়োগ করা হয়েছে)

উল্লেখ্য যে, নতুন ট্রেসিং এপিআইগুলো একটি প্রসেস-নিয়ন্ত্রিত বাফারে রেকর্ড করে, যা এখনও স্টুডিও সিস্টেম ট্রেস রেকর্ডিং দ্বারা ক্যাপচার করা হয় না। আসন্ন কোনো রিলিজে স্টুডিও প্রোফাইলারগুলোতে এই বিষয়টি সমাধান করা হবে।

বিদ্যমান android.os.Trace / trace() {} API-গুলো অপ্রচলিত (deprecated) ঘোষণা করা হয়নি। কম ঘন ঘন ঘটা ইভেন্টগুলির জন্য, বিশেষ করে লাইব্রেরিতে, এই API-গুলি এখনও সুপারিশ করা হয়, যা সর্বদা সিস্টেম ট্রেস বাফারে রেকর্ড করা উচিত।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • instant(...) এবং writeInstant(...) এর মধ্যে পার্থক্য নিরূপণ করার জন্য Tracer এ একটি ছোটখাটো API পরিবর্তন করা হয়েছে। ( I0935a )
  • ইনস্ট্যান্ট ইভেন্টে প্রোপাগেশন টোকেনের জন্য সমর্থন যোগ করুন। ( I99f81 )
  • পরীক্ষামূলক ম্যানুয়াল কনটেক্সট প্রোপাগেশন এপিআই-তে পারফেটটো ফ্লো-এর সম্পূর্ণ ব্যবহারের অনুমতি দিন। ( I20cb6 )
  • TraceSinkBufferedSink এবং ProtoWriter তৈরি করা স্থগিত করুন। ( Ibd098 )
  • জাভা এবং অ্যান্ড্রয়েড উভয় লাইব্রেরির জন্য Tracer ডিসকভারি সহজ এবং প্লাগেবল করুন। ( 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 SDK ( tracing-perfetto )-এর জন্য একটি 'কিপ রুল' (keep rule) সংশোধন করা হয়েছে, যা Perfetto SDK-কে সক্রিয় করা নিশ্চিত করে। ( I1d227 )
  • flush() ইভেন্ট ট্রেস করার ক্ষমতা যোগ করা হয়েছে। ( I38014 , b/495852704 )

সংস্করণ 2.0.0-alpha06

২২ এপ্রিল, ২০২৬

androidx.tracing:tracing-*:2.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-alpha06-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • File.createPerfettoFile() এর উপর থেকে বিধিনিষেধ তুলে নিন, যাতে অন্যরা নিরাপদে সিঙ্ক তৈরি করতে পারে। যখন trace / traceCoroutine মধ্যে কোনো block() একটি এক্সেপশন থ্রো করে, তখন সংশ্লিষ্ট স্ট্যাক ট্রেস এলিমেন্টগুলোর মেটাডেটা সহ এক্সেপশনটির জন্য একটি instant ইভেন্ট তৈরি করুন। ( I682e5 , b/501536851 , b/437166283 )
  • একটি setCounter(...) ওভারলোড যোগ করুন যা একটি জাভা Long টাইপ গ্রহণ করে। ( Ic0469 , b/356082604 )
  • ট্রেসিং ২.০ এখন প্ল্যাটফর্ম-নির্দিষ্ট Thread আইডেন্টিফায়ারের জন্য Long ব্যবহার করে। ( I67277 )

বাগ সংশোধন

  • AttributeEntry.reset() এর ডকুমেন্টেশন উন্নত করুন। ( I5d3a1 , b/496079439 )

সংস্করণ 2.0.0-alpha05

০৮ এপ্রিল, ২০২৬

androidx.tracing:tracing-*:2.0.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-alpha05-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • TraceSink ফ্যাক্টরি ফাংশনগুলো এখন AbstractTraceSink পরিবর্তে TraceSink রিটার্ন করে। ফাইলগুলোর এখন একটি অনন্য সাফিক্স আছে। আমরা নিশ্চিত করি যে ট্রেস প্যাকেট সংরক্ষণের জন্য ব্যবহৃত একটি নতুন ফাইল যেন অ্যাটমিকভাবে তৈরি করা যায়। ( I4c4aa , b/496298726 )
  • কো-রুটিন কনটেক্সট প্রোপাগেশনকে সরল ও দ্রুততর করুন। ( Ia62db )
  • একটি TraceDriver তৈরি করার সময় ঐচ্ছিক attributes() ফাংশনটি চালু করুন, যা একটি ট্রেস সম্পর্কিত মেটাডেটা যোগ করার একটি উপায় প্রদান করে। ( 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 কানেকশন সমর্থন করে না, যার ফলে কোন কো-রুটিন স্লাইস কার সাথে সংযুক্ত তা নিয়ে অস্পষ্টতার কারণে অ্যারো লাইনের একটি জট তৈরি হতো। আপনার ব্যবহারের ক্ষেত্রে প্রয়োজন হলে, আপনি tokenForManualPropagation() API ব্যবহার করে ম্যানুয়ালি প্রোপাগেশন চালু করতে পারেন। ( Ib2cf9 )

সংস্করণ 2.0.0-alpha02

২৫শে ফেব্রুয়ারি, ২০২৬

androidx.tracing:tracing-*:2.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-alpha02-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

  • suspendCoroutineUninterceptedOrReturn ইনট্রিন্সিক ( 2ea97b ) ব্যবহার করে Perfetto Trace Sink ইমপ্লিমেন্টেশনের পারফরম্যান্স উন্নত করা হয়েছে।

সংস্করণ 2.0.0-alpha01

২৮ জানুয়ারী, ২০২৬

androidx.tracing:tracing-*:2.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

AndroidX Tracing 2.0, Tracing 1.0-এর বিদ্যমান android.os.Tracing ভিত্তিক API-গুলোর পরিপূরক হিসেবে, স্বল্প-ওভারহেড ও ইন-প্রসেস ট্রেসিংয়ের জন্য একটি গুরুত্বপূর্ণ নতুন API সারফেস চালু করেছে। এই নতুন API-গুলো Android এবং হোস্ট JVM উভয় ক্ষেত্রেই উপলব্ধ, যা হোস্ট টুলগুলোকে একই স্ট্যান্ডার্ড Perfetto ট্রেস ফরম্যাট ব্যবহার করে পারফরম্যান্স বিশ্লেষণের জন্য স্বল্প-ওভারহেড ট্রেস নির্গত করতে সক্ষম করে।

অ্যান্ড্রয়েড স্টুডিও এবং পারফেটটো উভয়ই এমিটেড ট্রেস সমর্থন করে, এবং এটি একটি বর্ধিত ফিচার সেটের মাধ্যমে রেকর্ড করা যায়, যার মধ্যে মেটাডেটা (যেমন ফাংশন আর্গুমেন্ট!) দিয়ে স্লাইস ট্যাগিং এবং কো-রুটিন কনটেক্সট ট্রেস প্রোপাগেশন অন্তর্ভুক্ত রয়েছে।

এই প্রাথমিক আলফা সংস্করণটি শুধুমাত্র চলমান ট্রেসিং ওয়ার্কফ্লোর জন্য তৈরি করা হয়েছে এবং এটি এখনও অ্যান্ড্রয়েড ওএস ট্রেসিং বা স্টুডিও প্রোফাইলার সিস্টেম ট্রেসিং-এর সাথে সমন্বিত নয় — এগুলি ভবিষ্যতের কোনো আলফা সংস্করণে যুক্ত করা হবে।

  /**
  * 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 দিয়ে টীকাযুক্ত API-এর ক্ষেত্রফল হ্রাস করুন। শীর্ষ স্তরের API-এর কোনো কিছুতেই @DelicateTracingApi ব্যবহারের প্রয়োজন হওয়া উচিত নয়। ( I565e0 )
  • PropagationToken গুলিকে একীভূত করে কনটেক্সট প্রোপাগেশন সরল করুন। ( Iab839 )
  • androidx.benchmarkBlackHole এপিআই স্থিতিশীল করা হয়েছে। ( I2b67e , b/451749438 )
  • ট্রেস সেকশনকে রুট স্প্যান হিসেবে টীকাযুক্ত করার ক্ষমতা যোগ করুন। ( Ic8365 )
  • ডেভেলপারকে প্রোপাগেশন টোকেন সম্পর্কে সুস্পষ্টভাবে জানানোর অনুমতি দিন। ( I06bb1 )
  • MetadataHandleCloseable এর নাম পরিবর্তন করে EventMetadataCloseable এবং MetadataHandle এর নাম পরিবর্তন করে EventMetadata রাখা হয়েছে। এছাড়াও, ডেভেলপারকে ব্যবহারের জন্য প্রোপাগেশন টোকেন স্পষ্টভাবে নির্দিষ্ট করার সুযোগ দিতে Tracer.traceCoroutine এ একটি ঐচ্ছিক CoroutinePropagationToken আর্গুমেন্ট যোগ করা হয়েছে। ( I219f7 , b/454147392 )
  • একটি নতুন Tracer এন্ট্রি পয়েন্ট চালু করা হয়েছে যা ডেভেলপারদের ট্রেস করার পদ্ধতির উপর আরও অনেক বেশি নিয়ন্ত্রণ দেয়। ( I24a7b )
  • একটি SliceTrack এ কনটেক্সট প্রোপাগেশন কীভাবে ঘটবে তা নিয়ন্ত্রণ করার ক্ষমতা যোগ করুন। ( Ieb8fc )
  • PooledTracePacketArray এর fillCount এখন সঠিকভাবে volatile হিসেবে চিহ্নিত করা হয়েছে। ( I75d2c )
  • @DelicateTracingApi MetadataEntry চিহ্নিত করুন। ( 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 )
  • পারফেটটো ট্রেসে ডিবাগ অ্যানোটেশনের মাধ্যমে স্লাইসগুলিতে প্রাসঙ্গিক তথ্য যোগ করার ক্ষমতা যুক্ত করুন। ( Ic2b56 )
  • একটি File / OutputStream ব্যবহার করে WireTraceSink এর একটি ইনস্ট্যান্স তৈরি করা সম্ভব করুন। ( Iecea0 )
  • অপ্রচলিত @RequiresApi(21) অ্যানোটেশন অপসারণ করা হচ্ছে ( Ic4792 )

সংস্করণ ১.৩

সংস্করণ ১.৩.০

২৩ এপ্রিল, ২০২৫

androidx.tracing:tracing:1.3.0 , androidx.tracing:tracing-android:1.3.0 , এবং androidx.tracing:tracing-ktx:1.3.0 রিলিজ করা হয়েছে। ভার্সন 1.3.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

১.২.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ

  • androidx.tracing.Trace ক্লাসটিকে কোটলিনে রূপান্তর করা হয়েছে এবং tracing-ktx মডিউল থেকে সমস্ত কোড tracing এ স্থানান্তর করা হয়েছে।
  • @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 ক্লাসটিকে কোটলিনে রূপান্তর করা হয়েছে। ( Ie4e5d )

বাগ সংশোধন

  • নতুন প্ল্যাটফর্ম এপিআই-গুলিতে অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরিয়ে দেওয়া হয়েছে, কারণ AGP 7.3 বা তার পরবর্তী সংস্করণের (যেমন R8 সংস্করণ 3.3) সাথে R8 ব্যবহার করার সময় এবং AGP 8.1 বা তার পরবর্তী সংস্করণের (যেমন D8 সংস্করণ 8.1) সাথে সমস্ত বিল্ডের জন্য এটি এপিআই মডেলিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে ঘটে। যেসব ক্লায়েন্ট AGP ব্যবহার করছেন না, তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরও বিস্তারিত জানতে এই নিবন্ধটি দেখুন। ( 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 1.3.0-alpha01

৭ জুন, ২০২৩

androidx.tracing:tracing:1.3.0-alpha01 এবং androidx.tracing:tracing-ktx:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • @Composable এ ব্যবহারের অনুমতি দেওয়ার জন্য ট্রেস থেকে ক্রসইনলাইন সরানো হয়েছে। ( I53882 , b/248344805 )

সংস্করণ ১.২

সংস্করণ ১.২.০

২৯ নভেম্বর, ২০২৩

androidx.tracing:tracing:1.2.0 এবং androidx.tracing:tracing-ktx:1.2.0 প্রকাশ করা হয়েছে। সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 1.2.0-beta02

২২ মার্চ, ২০২৩

পূর্ববর্তী বিটার পর থেকে কোনো পরিবর্তন ছাড়াই androidx.tracing:tracing:1.2.0-beta02 এবং androidx.tracing:tracing-ktx:1.2.0-beta02 প্রকাশ করা হয়েছে। সংস্করণ 1.2.0-beta02-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 1.2.0-beta01

৮ মার্চ, ২০২৩

androidx.tracing:tracing:1.2.0-beta01 এবং androidx.tracing:tracing-ktx:1.2.0-beta01 সর্বশেষ আলফার পর থেকে কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 1.2.0-alpha02

২৩ ফেব্রুয়ারি, ২০২৩

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

৫ অক্টোবর, ২০২২

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 প্রকাশ করা হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

১.০.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ

  • নন-ডিবাগযোগ্য বিল্ডগুলিতে অ্যাপ ট্রেস সেকশন ক্যাপচার (যেমন android.os.Trace / androidx.tracing API) জোরপূর্বক চালু করার জন্য Trace.forceEnableAppTracing() নামে একটি API যোগ করা হয়েছে। API 29-এ প্রোফাইলযোগ্য ম্যানিফেস্ট ট্যাগ চালু হওয়ার আগে, নন-ডিবাগযোগ্য নির্ভুল সিস্টেম ট্রেসিং সক্ষম করতে স্টার্টআপের শুরুতে এটি কল করুন। ( I3a309 )
  • প্রথমবার Trace.java লোড করার সময় ক্লাস যাচাইকরণ ত্রুটি এড়িয়ে চলুন ( 05f6b4 এবং 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

  • নন-ডিবাগযোগ্য বিল্ডগুলিতে অ্যাপ ট্রেস সেকশন ক্যাপচার (যেমন android.os.Trace / andoridx.tracing API) জোরপূর্বক চালু করার জন্য Trace.forceEnableAppTracing() নামে একটি API যোগ করা হয়েছে। API 29-এ প্রোফাইলযোগ্য ম্যানিফেস্ট ট্যাগ চালু হওয়ার আগে, নন-ডিবাগযোগ্য নির্ভুল সিস্টেম ট্রেসিং সক্ষম করতে স্টার্টআপের শুরুতে এটি কল করুন। ( I3a309 )

সংস্করণ 1.1.0-alpha01

৩ নভেম্বর, ২০২১

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 রিলিজ করা হয়েছে। ভার্সন 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এই রিলিজটি 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 1.0.0-alpha01

১০ জুন, ২০২০

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 রিলিজ করা হয়েছে। ভার্সন 1.0.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • ১৬কেবি পেজ সাইজের ( b7a7dd ) জন্য সমর্থন
  • নতুন প্ল্যাটফর্ম এপিআই-গুলিতে অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরিয়ে দেওয়া হয়েছে, কারণ AGP 7.3 বা তার পরবর্তী সংস্করণের (যেমন R8 সংস্করণ 3.3) সাথে R8 ব্যবহার করার সময় এবং 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 রিলিজ করা হয়েছে। ভার্সন 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

  • 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 ) নামকরণ করা হয়েছে
  • সামঞ্জস্য রক্ষার জন্য প্রোটোকলে 'এক্সিট কোড' ধ্রুবকটির নাম পরিবর্তন করে 'রেজাল্ট কোড' রাখা হয়েছে ( Id1d1e )
  • EnableTracingResponse নাম পরিবর্তন করে Response রাখা হয়েছে। ( I56275 )
  • পার্সিস্টেন্ট মোডে কোল্ড স্টার্ট ট্রেসিং চালু করার একটি অপশন যোগ করা হয়েছে। কোল্ড স্টার্ট ট্রেসিং (পার্সিস্টেন্ট হোক বা না হোক) মুছে ফেলার জন্য একটি ফাংশন যোগ করা হয়েছে। ( Iaa09d )
  • Tracing Perfetto SDK API-গুলিকে android.os.Trace সাথে সামঞ্জস্যপূর্ণ করা হয়েছে। ( I73ba0 , b/282199917 )
  • LibrarySource এর জন্য একটি ফ্যাক্টরি প্যাটার্নে স্থানান্তরিত করা হয়েছে, যার ফলে ভবিষ্যতে প্রয়োজনে API-তে বিভিন্ন ব্যবহারের ক্ষেত্র (যেমন সরাসরি .so ফাইল লোড করা) সহজেই যোগ করা যাবে। ( I128df )
  • enableTracingColdStart প্যারামিটারগুলোকে enableTracingImmediate সাথে মেলানো ( I54126 )
  • enableTracingColdStart ( I81c4d ) থেকে killProcess আর্গুমেন্টটি সরানো হয়েছে

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

নতুন বৈশিষ্ট্য

  • স্ট্রিং পরিচালনার পদ্ধতি অপ্টিমাইজ করার মাধ্যমে পারফরম্যান্স উন্নত করা হয়েছে।

বাগ সংশোধন

  • একটি প্রোগার্ড রুল যোগ করা হয়েছে যা 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

  • androidx.tracing:tracing-perfetto এপিআইগুলোর JNI ওভারহেড কমানো হয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

  • এই আপডেটে কোনো পরিবর্তন নেই, শুধু 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

বাগ সংশোধন

  • পারফেটটো পরিষেবা প্রারম্ভিকীকরণে বেশ কিছু উন্নতি
  • একটি বিশেষ এক্সিট কোড (RESULT_CODE_CANCELLED) চালু করার মাধ্যমে কোনো সাড়া না দেওয়ার ক্ষেত্রে উন্নততর ব্যবস্থাপনা করা হয়েছে।
  • পার্সিং ত্রুটি ব্যবস্থাপনার উন্নততর ব্যবস্থা।
  • EnableTracingResponse.requiredVersion nullable করা হয়েছে, কারণ প্যাকেজের সাথে যোগাযোগ করতে না পারলে আমরা ভার্সন জানতে পারি না। ( 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 UI)-এর ভেতরে ব্যবহার করা যায়।

  • androidx.tracing:tracing-perfetto-binary হলো androidx.tracing:tracing-perfetto-এর জন্য প্রয়োজনীয় বাইনারি নির্ভরতার একটি সেট।

  • androidx.tracing:tracing-perfetto-common হলো androidx.tracing:tracing-perfetto-এর একটি অভ্যন্তরীণ নির্ভরতা এবং টুলিং এটিকে androidx.tracing:tracing-perfetto-এর সাথে একীভূত করতে ব্যবহার করতে পারে।

,

ট্রেসিং

সিস্টেম ট্রেস বাফারে ট্রেস ইভেন্টগুলো লিখুন।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ রিলিজ প্রার্থী বিটা রিলিজ আলফা রিলিজ
১২ আগস্ট, ২০২৬ ২.০.০ - - -

প্রতিক্রিয়া

আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

ট্রেসিং

সংস্করণ ২.০

সংস্করণ ২.০.০

১২ আগস্ট, ২০২৬

androidx.tracing:tracing-*:2.0.0 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

২.০.০ এর প্রধান বৈশিষ্ট্যসমূহ:

নতুন নির্মাণাধীন এপিআই যা সক্ষম করে:

  • মাঠে, প্রক্রিয়াধীন অবস্থায় ট্রেস কন্টেন্ট রেকর্ড করুন।
  • পারফেট্টো প্রবাহিত হয় (এক স্লাইস থেকে অন্য স্লাইসে তীরচিহ্ন)
  • পারফেট্টো টীকা (কী/ভ্যালু স্লাইস মেটাডেটা)
  • traceCoroutine() {} - কোরাউটিন ট্রেসিং এপিআই যা থ্রেড স্যুইচ ট্রেস করে
  • বিভাগ ফিল্টারিং
  • বিদ্যমান android.os.Trace API এবং trace() {} র‍্যাপারের তুলনায় ওভারহেড উল্লেখযোগ্যভাবে কম।
  • KMP ট্রেসিং - অ্যান্ড্রয়েড নির্ভরতা ছাড়া লাইব্রেরিতে এবং হোস্ট JVM প্রোজেক্টে ব্যবহার করা যায়।
  • সিস্টেম ট্রেস রেকর্ডিং-এর সাথে ঘটনার পরবর্তী একত্রীকরণ (অ্যান্ড্রয়েডএক্স বেঞ্চমার্ক ১.৫-এ ডিফল্টরূপে প্রয়োগ করা হয়েছে)

উল্লেখ্য যে, নতুন ট্রেসিং এপিআইগুলো একটি প্রসেস-নিয়ন্ত্রিত বাফারে রেকর্ড করে, যা এখনও স্টুডিও সিস্টেম ট্রেস রেকর্ডিং দ্বারা ক্যাপচার করা হয় না। আসন্ন কোনো রিলিজে স্টুডিও প্রোফাইলারগুলোতে এই বিষয়টি সমাধান করা হবে।

বিদ্যমান android.os.Trace / trace() {} API-গুলো অপ্রচলিত (deprecated) ঘোষণা করা হয়নি। কম ঘন ঘন ঘটা ইভেন্টগুলির জন্য, বিশেষ করে লাইব্রেরিতে, এই API-গুলি এখনও সুপারিশ করা হয়, যা সর্বদা সিস্টেম ট্রেস বাফারে রেকর্ড করা উচিত।

সংস্করণ 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-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • instant(...) এবং writeInstant(...) এর মধ্যে পার্থক্য নিরূপণ করার জন্য Tracer এ একটি ছোটখাটো API পরিবর্তন করা হয়েছে। ( I0935a )
  • ইনস্ট্যান্ট ইভেন্টে প্রোপাগেশন টোকেনের জন্য সমর্থন যোগ করুন। ( I99f81 )
  • পরীক্ষামূলক ম্যানুয়াল কনটেক্সট প্রোপাগেশন এপিআই-তে পারফেটটো ফ্লো-এর সম্পূর্ণ ব্যবহারের অনুমতি দিন। ( I20cb6 )
  • TraceSinkBufferedSink এবং ProtoWriter তৈরি করা স্থগিত করুন। ( Ibd098 )
  • জাভা এবং অ্যান্ড্রয়েড উভয় লাইব্রেরির জন্য Tracer ডিসকভারি সহজ এবং প্লাগেবল করুন। ( 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 SDK ( tracing-perfetto )-এর জন্য একটি 'কিপ রুল' (keep rule) সংশোধন করা হয়েছে, যা Perfetto SDK-কে সক্রিয় করা নিশ্চিত করে। ( I1d227 )
  • flush() ইভেন্ট ট্রেস করার ক্ষমতা যোগ করা হয়েছে। ( I38014 , b/495852704 )

সংস্করণ 2.0.0-alpha06

২২ এপ্রিল, ২০২৬

androidx.tracing:tracing-*:2.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-alpha06-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • File.createPerfettoFile() এর উপর থেকে বিধিনিষেধ তুলে নিন, যাতে অন্যরা নিরাপদে সিঙ্ক তৈরি করতে পারে। যখন trace / traceCoroutine মধ্যে কোনো block() একটি এক্সেপশন থ্রো করে, তখন সংশ্লিষ্ট স্ট্যাক ট্রেস এলিমেন্টগুলোর মেটাডেটা সহ এক্সেপশনটির জন্য একটি instant ইভেন্ট তৈরি করুন। ( I682e5 , b/501536851 , b/437166283 )
  • একটি setCounter(...) ওভারলোড যোগ করুন যা একটি জাভা Long টাইপ গ্রহণ করে। ( Ic0469 , b/356082604 )
  • ট্রেসিং ২.০ এখন প্ল্যাটফর্ম-নির্দিষ্ট Thread আইডেন্টিফায়ারের জন্য Long ব্যবহার করে। ( I67277 )

বাগ সংশোধন

  • AttributeEntry.reset() এর ডকুমেন্টেশন উন্নত করুন। ( I5d3a1 , b/496079439 )

সংস্করণ 2.0.0-alpha05

০৮ এপ্রিল, ২০২৬

androidx.tracing:tracing-*:2.0.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.0.0-alpha05-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।

এপিআই পরিবর্তন

  • TraceSink ফ্যাক্টরি ফাংশনগুলো এখন AbstractTraceSink পরিবর্তে TraceSink রিটার্ন করে। ফাইলগুলোর এখন একটি অনন্য সাফিক্স আছে। আমরা নিশ্চিত করি যে ট্রেস প্যাকেট সংরক্ষণের জন্য ব্যবহৃত একটি নতুন ফাইল যেন অ্যাটমিকভাবে তৈরি করা যায়। ( I4c4aa , b/496298726 )
  • কো-রুটিন কনটেক্সট প্রোপাগেশনকে সরল ও দ্রুততর করুন। ( Ia62db )
  • একটি TraceDriver তৈরি করার সময় ঐচ্ছিক attributes() ফাংশনটি চালু করুন, যা একটি ট্রেস সম্পর্কিত মেটাডেটা যোগ করার একটি উপায় প্রদান করে। ( 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 )

Version 2.0.0-alpha03

১১ মার্চ, ২০২৬

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

এপিআই পরিবর্তন

  • Added an experimental InMemoryRingBufferTraceSink implementation which allows setting a capacity restriction and avoids writing to disk unless explicitly asking for it. ( I1dc44 , b/484409653 , I65a37 , b/484409653 )
  • Fix race condition when emitting trace events for coroutine suspends and resumes. ( 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)
          }
      }
  }

এপিআই পরিবর্তন

  • 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

Version 1.3.0

২৩ এপ্রিল, ২০২৫

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 .

এপিআই পরিবর্তন

  • 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

June 7, 2023

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.

এপিআই পরিবর্তন

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

Version 1.2

Version 1.2.0

২৯ নভেম্বর, ২০২৩

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

২৪ মে, ২০২৩

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

May 3, 2023

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

April 5, 2023

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

March 8, 2023

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

February 23, 2023

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

May 11, 2022

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

December 1, 2021

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

November 17, 2021

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

October 14, 2020

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 .

সংস্করণ 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.

সংস্করণ 1.0.0-alpha01

June 10, 2020

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

October 4, 2023

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

September 20, 2023

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

August 30, 2023

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).

সংস্করণ 1.0.0-beta01

July 18, 2023

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.

এপিআই পরিবর্তন

  • 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

June 7, 2023

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

May 3, 2023

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

April 5, 2023

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

March 8, 2023

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.

January 11, 2023

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

December 7, 2022

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

November 9, 2022

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

October 24, 2022

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.

সংস্করণ 1.0.0-alpha05

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.

সংস্করণ 1.0.0-alpha04

September 21, 2022

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.

সংস্করণ 1.0.0-alpha02

August 24, 2022

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 )

সংস্করণ 1.0.0-alpha01

July 27, 2022

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.