ट्रेसिंग
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 19 मई, 2026 | 1.3.0 | - | - | 2.0.0-alpha08 |
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
ट्रेसिंग
वर्शन 2.0
वर्शन 2.0.0-alpha08
19 मई, 2026
androidx.tracing:tracing-*:2.0.0-alpha08 रिलीज़ हो गया है. वर्शन 2.0.0-alpha08 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
TraceDriverके इंस्टेंस को खोजने और उन्हें बदलने की सुविधा जोड़ता है, ताकि इसका इस्तेमाल पूरी प्रोसेस में किया जा सके. (I3f715)Tracer.recordExceptionका नाम बदलकरTracer.recordExceptionAndThrowकरें. (I4411f, b/503092450)
वर्शन 2.0.0-alpha07
6 मई, 2026
androidx.tracing:tracing-*:2.0.0-alpha07 रिलीज़ हो गया है. वर्शन 2.0.0-alpha07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ट्रेसिंग बंद होने पर इस्तेमाल किए जा सकने वाले स्टब ट्रेसर को पाने के लिए, एक एपीआई जोड़ा गया है. (I84c98)
- सिस्टम ट्रेसिंग के साथ लाइफ़साइकल को ट्रेस करने की सुविधा को चालू रखें. (Ib391b)
- काउंटर एपीआई के लिए अब कोई शुल्क नहीं देना होगा. (I5e73a)
गड़बड़ियां ठीक की गईं
- Perfetto SDK (
tracing-perfetto) के लिए, डेटा को सुरक्षित रखने से जुड़े नियम को ठीक किया गया है. इससे यह पक्का किया जा सकेगा कि Perfetto SDK को चालू किया जा सके. (I1d227) flush()इवेंट को ट्रेस करने की सुविधा जोड़ी गई. (I38014, b/495852704)
वर्शन 2.0.0-alpha06
22 अप्रैल, 2026
androidx.tracing:tracing-*:2.0.0-alpha06 रिलीज़ हो गया है. वर्शन 2.0.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
File.createPerfettoFile()पर से पाबंदी हटाएं, ताकि दूसरे लोग सुरक्षित तरीके से सिंक बना सकें. जबblock(),traceमें कोई अपवाद दिखाता है, तोtraceCoroutine, अपवाद के लिएinstantइवेंट बनाता है. इसमें मेटाडेटा होता है, जो स्टैक ट्रेस के एलिमेंट को दिखाता है. (I682e5, b/501536851, b/437166283)- एक ऐसा
setCounter(...)ओवरलोड जोड़ें जो JavaLongटाइप लेता हो. (Ic0469, b/356082604) - ट्रेसिंग 2.0 अब प्लैटफ़ॉर्म के हिसाब से
Threadआइडेंटिफ़ायर के लिएLongका इस्तेमाल करता है. (I67277)
गड़बड़ियां ठीक की गईं
AttributeEntry.reset()के लिए दस्तावेज़ को बेहतर बनाएं. (I5d3a1, b/496079439)
वर्शन 2.0.0-alpha05
08 अप्रैल, 2026
androidx.tracing:tracing-*:2.0.0-alpha05 रिलीज़ हो गया है. वर्शन 2.0.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
TraceSinkफ़ैक्ट्री फ़ंक्शन अबAbstractTraceSinkदिखाते हैं, न किAbstractTraceSink. फ़ाइलों में अब यूनीक सफ़िक्स होता है. हम यह पक्का करते हैं कि हम एक नई फ़ाइल बना सकें, जिसका इस्तेमाल ट्रेस पैकेट सेव करने के लिए किया जाएगा. (I4c4aa, b/496298726)TraceSink- कोरूटीन कॉन्टेक्स्ट के प्रोपगेशन को आसान बनाया गया है और इसे तेज़ किया गया है. (Ia62db)
TraceDriverबनाते समय,attributes()को शामिल करने का विकल्प जोड़ा गया है. इससे ट्रेस से जुड़ा मेटाडेटा जोड़ा जा सकता है. (Ia147e)
गड़बड़ियां ठीक की गईं
- प्रोसेस थ्रेड और काउंटर ट्रैक अब सिंक हो गए हैं. इससे इस फ़ॉर्म के अपवाद ठीक हो जाते हैं:
java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null - ट्रेसिंग बंद होने पर, सिंक इवेंट को बाहर रखें.
वर्शन 2.0.0-alpha04
25 मार्च, 2026
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
11 मार्च, 2026
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()एपीआई का इस्तेमाल करके, मैन्युअल तरीके से प्रोपगेशन में ऑप्ट-इन किया जा सकता है. ऐसा तब करें, जब आपके इस्तेमाल के उदाहरण के लिए यह ज़रूरी हो. (Ib2cf9)
वर्शन 2.0.0-alpha02
25 फ़रवरी, 2026
androidx.tracing:tracing-*:2.0.0-alpha02 रिलीज़ हो गया है. वर्शन 2.0.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
suspendCoroutineUninterceptedOrReturnइंट्रिंसिक (2ea97b) का इस्तेमाल करके, Perfetto Trace Sink को लागू करने की परफ़ॉर्मेंस को बेहतर बनाया गया है.
वर्शन 2.0.0-alpha01
28 जनवरी, 2026
androidx.tracing:tracing-*:2.0.0-alpha01 रिलीज़ हो गया है. वर्शन 2.0.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
AndroidX Tracing 2.0, कम ओवरहेड वाली, इन-प्रोसेस ट्रेसिंग के लिए एक नया एपीआई पेश करता है. यह Tracing 1.0 में मौजूद android.os.Tracing पर आधारित एपीआई के साथ काम करता है. नए एपीआई, Android और होस्ट JVM, दोनों पर उपलब्ध हैं. इससे होस्ट टूल, परफ़ॉर्मेंस का विश्लेषण करने के लिए कम ओवरहेड वाले ट्रेस को छोड़ सकते हैं. इसके लिए, वे Perfetto के स्टैंडर्ड ट्रेस फ़ॉर्मैट का इस्तेमाल करते हैं.
एमिट किए गए ट्रेस, Android Studio और Perfetto, दोनों के साथ काम करते हैं. इन्हें ज़्यादा सुविधाओं के साथ रिकॉर्ड किया जा सकता है. जैसे, स्लाइस को मेटाडेटा (जैसे, फ़ंक्शन के आर्ग्युमेंट!) के साथ टैग करना और को-रूटीन कॉन्टेक्स्ट ट्रेस का प्रसार करना.
यह शुरुआती ऐल्फ़ा वर्शन, सिर्फ़ प्रोसेस में मौजूद ट्रेसिंग वर्कफ़्लो के लिए है. यह अब तक Android OS ट्रेसिंग या Studio Profiler System Tracing के साथ इंटिग्रेट नहीं हुआ है. ये सुविधाएं, आने वाले ऐल्फ़ा वर्शन में उपलब्ध होंगी.
/**
* A [TraceSink] defines how traces are serialized.
*
* [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
*/
fun createSink(): TraceSink {
val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
// We are using the factory function defined in androidx.tracing.wire
return TraceSink(
sequenceId = 1,
directory = outputDirectory
)
}
/**
* Creates a new instance of [androidx.tracing.TraceDriver].
*/
fun createTraceDriver(): TraceDriver {
// We are using a factory function from androidx.tracing.wire here.
// `isEnabled` controls whether tracing is enabled for the application.
val driver = TraceDriver(sink = createSink(), isEnabled = true)
return driver
}
fun main() {
val driver = createTraceDriver()
driver.use {
driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
Thread.sleep(100L)
}
}
}
एपीआई में हुए बदलाव
TracerकोTraceDriverकी प्रॉपर्टी बनाएं. (Iabd9b)- मैन्युअल कॉन्टेक्स्ट प्रोपगेशन के लिए सहायता जोड़ी गई. (I899ff)
- ट्रेस सेक्शन में कॉल स्टैक की जानकारी जोड़ने की सुविधा जोड़ी गई है. (If6a1b)
- नए
androidx.tracingएपीआई लॉन्च किए गए हैं. (I5102b) - इवेंट में मेटाडेटा शामिल करने की अनुमति दें. साथ ही, इंस्टेंट और काउंटर में काउंटर जोड़ें. (Ia2ed3)
@DelicateTracingApiके साथ एनोटेट किए गए एपीआई के सर्फ़ेस एरिया को कम करें. टॉप लेवल के एपीआई में किसी भी चीज़ के लिए@DelicateTracingApiका इस्तेमाल ज़रूरी नहीं होना चाहिए. (I565e0)PropagationTokenको एक साथ करके, कॉन्टेक्स्ट प्रोपगेशन को आसान बनाएं. (Iab839)androidx.benchmarkमेंBlackHoleएपीआई को स्थिर किया गया. (I2b67e, b/451749438)- ट्रेस सेक्शन को रूट स्पैन के तौर पर एनोटेट करने की सुविधा जोड़ी गई है. (Ic8365)
- डेवलपर को प्रोपगेशन टोकन के बारे में साफ़ तौर पर बताने की अनुमति दें. (I06bb1)
MetadataHandleCloseableका नाम बदलकरEventMetadataCloseableऔरMetadataHandleका नाम बदलकरEventMetadataकर दिया गया है. डेवलपर को इस्तेमाल किए जाने वाले प्रोपगेशन टोकन के बारे में साफ़ तौर पर बताने की अनुमति देने के लिए,Tracer.traceCoroutineमें एक वैकल्पिकCoroutinePropagationTokenआर्ग्युमेंट भी जोड़ा गया है. (I219f7, b/454147392)- नया
Tracerएंट्री पॉइंट जोड़ा गया है. इससे डेवलपर को यह तय करने का ज़्यादा कंट्रोल मिलता है कि ट्रेसिंग कैसे की जाए. (I24a7b) SliceTrackमें कॉन्टेक्स्ट प्रोपगेशन को कंट्रोल करने की सुविधा जोड़ी गई है. (Ieb8fc)PooledTracePacketArrayमें मौजूदfillCountको अब सही तरीके से अस्थिर के तौर पर मार्क किया गया है. (I75d2c)MetadataEntry@DelicateTracingApiके तौर पर मार्क करें. (I8c723)TraceSinkके लिए, खोए हुए ट्रेस इवेंट को हैंडल करने की सुविधा जोड़ी गई है. ऐसा तब होता है, जब पूल खत्म हो जाता है. (I3b374)- शर्त के आधार पर ट्रेस इवेंट को ट्रिगर करने की सुविधा जोड़ी गई है. (I621b4)
- ट्रेस इवेंट में कैटगरी जोड़ने की सुविधा जोड़ी गई. (I449c2)
TraceEvent,PooledTracePacketArrayकोDelicateTracingApiके तौर पर मार्क करें. (Iaac6d)ProcessTrack.id,ThreadTrack.id,ThreadTrack.name,CounterTrack.name, औरCounterTrack.parentको सार्वजनिक के तौर पर सेट करें. (I81210)SliceTrack.traceFlow()एपीआई का नाम बदलकरtraceCoroutine()कर दिया गया है. (I79ad0)- Perfetto ट्रेस में डीबग एनोटेशन के ज़रिए, स्लाइस में कॉन्टेक्स्ट के हिसाब से जानकारी जोड़ने की सुविधा जोड़ी गई है. (Ic2b56)
File/OutputStreamकी मदद से,WireTraceSinkका इंस्टेंस बनाना मुमकिन हो. (Iecea0)- पुराने हो चुके
@RequiresApi(21)एनोटेशन हटाना (Ic4792)
वर्शन 1.3
वर्शन 1.3.0
23 अप्रैल, 2025
androidx.tracing:tracing:1.3.0, androidx.tracing:tracing-android:1.3.0, और androidx.tracing:tracing-ktx:1.3.0 रिलीज़ किए जाते हैं. वर्शन 1.3.0 में ये बदलाव शामिल हैं.
1.2.0 के बाद हुए ज़रूरी बदलाव
androidx.tracing.Traceक्लास को Kotlin में बदल दिया गया है. साथ ही, सभी कोड कोtracing-ktxमॉड्यूल सेtracingमें ले जाया गया है.- ट्रेस से crossinline हटाएं, ताकि इसे
@Composableमें इस्तेमाल किया जा सके. (I53882, b/248344805)
वर्शन 1.3.0-rc01
9 अप्रैल, 2025
androidx.tracing:tracing:1.3.0-rc01, androidx.tracing:tracing-android:1.3.0-rc01, और androidx.tracing:tracing-ktx:1.3.0-rc01 को पिछले बीटा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta01
12 फ़रवरी, 2025
androidx.tracing:tracing:1.3.0-beta01, androidx.tracing:tracing-android:1.3.0-beta01, और androidx.tracing:tracing-ktx:1.3.0-beta01 रिलीज़ किए जाते हैं. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
tracing-ktxमॉड्यूल से सभी कोड कोtracingमें ले जाया गया. (Iba550)androidx.tracing.Traceक्लास को Kotlin में बदला गया. (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
21 जून, 2023
androidx.tracing:tracing:1.3.0-alpha02 और androidx.tracing:tracing-ktx:1.3.0-alpha02 को पिछले ऐल्फ़ा वर्शन के मुकाबले बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-alpha01
7 जून, 2023
androidx.tracing:tracing:1.3.0-alpha01 और androidx.tracing:tracing-ktx:1.3.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ट्रेस से crossinline हटाएं, ताकि इसे
@Composableमें इस्तेमाल किया जा सके. (I53882, b/248344805)
वर्शन 1.2
वर्शन 1.2.0
29 नवंबर, 2023
androidx.tracing:tracing:1.2.0 और androidx.tracing:tracing-ktx:1.2.0 रिलीज़ हो गए हैं. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद हुए अहम बदलाव
- लेज़ी स्ट्रिंग और कुकी कंप्यूटेशन के साथ
trace()औरtraceAsync()वैरिएंट जोड़ें. अगरTrace.beginथ्रो करता है, तो अबTrace.endसही तरीके से स्किप करता है.
वर्शन 1.2.0-rc01
24 मई, 2023
androidx.tracing:tracing:1.2.0-rc01 और androidx.tracing:tracing-ktx:1.2.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- लंबे ट्रेस सेक्शन के नाम पास किए जाने पर क्रैश होने की समस्या को अपने-आप छोटा करके ठीक किया जाता है (Iaf6e2)
वर्शन 1.2.0-beta04
3 मई, 2023
androidx.tracing:tracing:1.2.0-beta04 और androidx.tracing:tracing-ktx:1.2.0-beta04 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-beta04 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-beta03
5 अप्रैल, 2023
androidx.tracing:tracing:1.2.0-beta03 और androidx.tracing:tracing-ktx:1.2.0-beta03 को बिना किसी नए बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-beta03 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-beta02
22 मार्च, 2023
androidx.tracing:tracing:1.2.0-beta02 और androidx.tracing:tracing-ktx:1.2.0-beta02 को पिछले बीटा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-beta01
8 मार्च, 2023
androidx.tracing:tracing:1.2.0-beta01 और androidx.tracing:tracing-ktx:1.2.0-beta01 को पिछले ऐल्फ़ा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha02
23 फ़रवरी, 2023
androidx.tracing:tracing:1.2.0-alpha02 और androidx.tracing:tracing-ktx:1.2.0-alpha02 को पिछले ऐल्फ़ा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इस रिलीज़ से,
androidx.tracing: tracing-perfetto-common:1.0.0-alpha11पर अपग्रेड करते समय होने वालीCould not find androidx.tracing:tracing-ktx:1.2.0-alpha02गड़बड़ी को ठीक किया जाएगा
वर्शन 1.2.0-alpha01
5 अक्टूबर, 2022
androidx.tracing:tracing:1.2.0-alpha01 और androidx.tracing:tracing-ktx:1.2.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- लेज़ी स्ट्रिंग और कुकी कंप्यूटेशन के साथ
trace()औरtraceAsync()वैरिएंट जोड़ें. अगरTrace.beginथ्रो करता है, तो अबTrace.endसही तरीके से स्किप करता है. (I31421, b/175233952, b/247066503)
वर्शन 1.1
वर्शन 1.1.0
11 मई, 2022
androidx.tracing:tracing:1.1.0 और androidx.tracing:tracing-ktx:1.1.0 रिलीज़ हो गए हैं. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
Trace.forceEnableAppTracing()एक एपीआई जोड़ा गया है.इससे, डीबग नहीं की जा सकने वाली बिल्ड पर, ऐप्लिकेशन के ट्रेस सेक्शन को हमेशा चालू रखा जा सकता है. जैसे, android.os.Trace / androidx.tracing API. स्टार्टअप की शुरुआत में इसे कॉल करें, ताकि एपीआई 29 में profileable मेनिफ़ेस्ट टैग के आने से पहले, डीबग नहीं की जा सकने वाली सटीक सिस्टम ट्रेसिंग को चालू किया जा सके. (I3a309)- Trace.java को पहली बार लोड करते समय, क्लास की पुष्टि करने से जुड़ी गड़बड़ियों से बचें (05f6b4 और cb101f)
वर्शन 1.1.0-rc01
20 अप्रैल, 2022
androidx.tracing:tracing:1.1.0-rc01 और androidx.tracing:tracing-ktx:1.1.0-rc01 को beta01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.1.0-beta01
1 दिसंबर, 2021
androidx.tracing:tracing:1.1.0-beta01 और androidx.tracing:tracing-ktx:1.1.0-beta01 रिलीज़ हो गए हैं. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.
1.1.0-alpha02 के बाद से कोई बदलाव नहीं हुआ है.
वर्शन 1.1.0-alpha02
17 नवंबर, 2021
androidx.tracing:tracing:1.1.0-alpha02 और androidx.tracing:tracing-ktx:1.1.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Trace.forceEnableAppTracing() नाम का एक एपीआई जोड़ा गया है.इससे डीबग नहीं की जा सकने वाली बिल्ड पर, ऐप्लिकेशन के ट्रेस सेक्शन को कैप्चर करने की सुविधा को हमेशा चालू रखा जा सकता है. जैसे, android.os.Trace / andoridx.tracing एपीआई. इसे स्टार्टअप की शुरुआत में कॉल करें, ताकि एपीआई 29 में प्रोफ़ाइल किए जा सकने वाले मेनिफ़ेस्ट टैग को शामिल करने से पहले, डीबग नहीं की जा सकने वाली सटीक सिस्टम ट्रेसिंग को चालू किया जा सके. (I3a309)
वर्शन 1.1.0-alpha01
3 नवंबर, 2021
androidx.tracing:tracing:1.1.0-alpha01 और androidx.tracing:tracing-ktx:1.1.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Trace.java को पहली बार लोड करते समय, क्लास की पुष्टि करने से जुड़ी गड़बड़ियों से बचें (05f6b4 और cb101f)
संस्करण 1.0
वर्शन 1.0.0
28 अक्टूबर, 2020
androidx.tracing:tracing:1.0.0 और androidx.tracing:tracing-ktx:1.0.0 रिलीज़ हो गए हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
यह सिस्टम ट्रेस बफ़र में ट्रेस इवेंट लिखने में मदद करती है. इसे Systrace और Perfetto जैसे टूल का इस्तेमाल करके विज़ुअलाइज़ किया जा सकता है. यह लाइब्रेरी, बंद हो चुकी androidx.core.os.TraceCompat क्लास की जगह इस्तेमाल की जाती है.
वर्शन 1.0.0-rc01
14 अक्टूबर, 2020
androidx.tracing:tracing:1.0.0-rc01 और androidx.tracing:tracing-ktx:1.0.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
यह रिलीज़, 1.0.0-beta01 के जैसी ही है.
वर्शन 1.0.0-beta01
24 जून, 2020
androidx.tracing:tracing:1.0.0-beta01 और androidx.tracing:tracing-ktx:1.0.0-beta01 को 1.0.0-alpha01 के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha01
10 जून, 2020
androidx.tracing:tracing:1.0.0-alpha01 और androidx.tracing:tracing-ktx:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
androidx.tracing एक लाइब्रेरी है. यह सिस्टम ट्रेस बफ़र में ट्रेस इवेंट लिखने में मदद करती है. इसे Systrace और Perfetto जैसे टूल का इस्तेमाल करके विज़ुअलाइज़ किया जा सकता है. यह लाइब्रेरी, अब काम न करने वाली androidx.core.os.TraceCompat क्लास की जगह लेगी. यह शुरुआती रिलीज़ 1.0.0-alpha01 है.
Tracing Perfetto
संस्करण 1.0
वर्शन 1.0.1
19 नवंबर, 2025
androidx.tracing:tracing-perfetto:1.0.1, androidx.tracing:tracing-perfetto-binary:1.0.1, और androidx.tracing:tracing-perfetto-handshake:1.0.1 रिलीज़ किए जाते हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- 16 केबी वाले पेज साइज़ के साथ काम करने की सुविधा (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)
वर्शन 1.0.0
4 अक्टूबर, 2023
androidx.tracing:tracing-perfetto:1.0.0, androidx.tracing:tracing-perfetto-binary:1.0.0, और androidx.tracing:tracing-perfetto-handshake:1.0.0 रिलीज़ किए जाते हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
- यह Tracing-perfetto लाइब्रेरी का पहला स्टेबल वर्शन है.
वर्शन 1.0.0-rc01
20 सितंबर, 2023
androidx.tracing:tracing-perfetto:1.0.0-rc01, androidx.tracing:tracing-perfetto-binary:1.0.0-rc01, और androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 को पिछले बीटा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-beta03
30 अगस्त, 2023
androidx.tracing:tracing-perfetto:1.0.0-beta03, androidx.tracing:tracing-perfetto-binary:1.0.0-beta03, और androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 रिलीज़ किए जाते हैं. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.
- androidx.benchmark के रिलीज़ वर्शन से मेल खाने के लिए वर्शन में बदलाव किया गया है.
वर्शन 1.0.0-beta02
23 अगस्त, 2023
androidx.tracing:tracing-perfetto:1.0.0-beta02, androidx.tracing:tracing-perfetto-binary:1.0.0-beta02, और androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 रिलीज़ किए जाते हैं. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ऐप्लिकेशन के स्टार्टअप (कोल्ड स्टार्ट) पर ट्रेसिंग की सुविधा चालू की गई.
वर्शन 1.0.0-beta01
18 जुलाई, 2023
androidx.tracing:tracing-perfetto:1.0.0-beta01, androidx.tracing:tracing-perfetto-binary:1.0.0-beta01, और androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 रिलीज़ किए जाते हैं. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
androidx.tracing.perfetto.Traceका नाम बदलकरandroidx.tracing.perfetto.PerfettoSdkTraceकर दिया गया (I44af8)- प्रोटोकॉल में "एग्ज़िट कोड" का नाम बदलकर "नतीजा कोड" कॉन्स्टेंट कर दिया गया है, ताकि एक जैसा नाम रहे (Id1d1e)
EnableTracingResponseका नाम बदलकरResponseकर दिया गया. (I56275)- परसिस्टेंट मोड में कोल्ड स्टार्ट ट्रेसिंग चालू करने का विकल्प जोड़ा गया. कोल्ड स्टार्ट ट्रेसिंग को मिटाने के लिए एक फ़ंक्शन जोड़ा गया है. यह फ़ंक्शन, कोल्ड स्टार्ट ट्रेसिंग को लगातार या कुछ समय के लिए मिटा सकता है. (Iaa09d)
- Perfetto SDK के एपीआई को
android.os.Traceके साथ काम करने के लिए बनाया गया है. (I73ba0, b/282199917) LibrarySourceको फ़ैक्ट्री पैटर्न में ले जाया गया है, ताकि आने वाले समय में इस्तेमाल के उदाहरणों (जैसे,.soफ़ाइल को सीधे तौर पर लोड करना) को ज़रूरत पड़ने पर एपीआई में आसानी से जोड़ा जा सके. (I128df)enableTracingColdStartपैरामीटर कोenableTracingImmediateसे मैच करना (I54126)enableTracingColdStartमेंkillProcessआर्ग्युमेंट को हटाया गया (I81c4d)
वर्शन 1.0.0-alpha17
21 जून, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha17, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17, और androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 को पिछले ऐल्फ़ा वर्शन में किए गए बदलावों के बिना रिलीज़ किया गया है. वर्शन 1.0.0-alpha17 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha16
7 जून, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha16, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 को पिछले ऐल्फ़ा वर्शन में किए गए बदलावों के बिना रिलीज़ किया गया है. वर्शन 1.0.0-alpha16 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha15
3 मई, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha15, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 में कोई बदलाव नहीं किया गया है. वर्शन 1.0.0-alpha15 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha14
5 अप्रैल, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha14, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 में कोई नया बदलाव नहीं किया गया है. वर्शन 1.0.0-alpha14 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha13
22 मार्च, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha13, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 को पिछली रिलीज़ के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-alpha13 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha12
8 मार्च, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha12, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 को पिछले ऐल्फ़ा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha11
22 फ़रवरी, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha11, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 में कोई बदलाव नहीं किया गया है. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha10
8 फ़रवरी, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha10, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 में कोई बदलाव नहीं किया गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha09
10 फ़रवरी, 2023
androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
नई सुविधाएं
- वर्शन में बदलाव किया गया है, ताकि अन्य
androidx.tracing:tracing-perfetto*: 1.0.0-alpha09लाइब्रेरी एक साथ काम कर सकें.
11 जनवरी, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha09 और androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha08
7 दिसंबर, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha08, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
नई सुविधाएं
- स्ट्रिंग को हैंडल करने के तरीके को ऑप्टिमाइज़ करके, परफ़ॉर्मेंस को बेहतर बनाया गया है.
गड़बड़ियां ठीक की गईं
- proguard का एक नियम जोड़ा गया है. इससे अगर क्लास का इस्तेमाल किया जाता है, तो
PerfettoNativeके तरीकों को हटाया नहीं जा सकेगा. इससे, ट्रेसिंग शुरू होने पर क्रैश होने की समस्या को रोका जा सकेगा. हालांकि, ऐप्लिकेशन में कोई ट्रेसिंग कॉल मौजूद नहीं है.
वर्शन 1.0.0-alpha07
9 नवंबर, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha07, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
androidx.tracing:tracing-perfettoएपीआई के जेएनआई ओवरहेड को कम किया गया.
वर्शन 1.0.0-alpha06
24 अक्टूबर, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha06, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
- इस अपडेट में कोई बदलाव नहीं किया गया है. सिर्फ़ वर्शन नंबर को androidx.benchmark के साथ सिंक करने के लिए अपडेट किया गया है.
वर्शन 1.0.0-alpha05
5 अक्टूबर, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha05, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha04
21 सितंबर, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha04, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha03
7 सितंबर, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha03, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 रिलीज़ किए जाते हैं.
नई सुविधाएं
- 1.0.0-alpha02 वर्शन में कोई नई सुविधा नहीं है.
वर्शन 1.0.0-alpha02
24 अगस्त, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha02, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Perfetto सेवा को शुरू करने की प्रोसेस में कई सुधार किए गए हैं
- कोई जवाब न मिलने की स्थिति को बेहतर तरीके से हैंडल करने के लिए, एक खास एक्ज़िट कोड जोड़ा गया है: RESULT_CODE_CANCELLED.
- पार्स करने से जुड़ी गड़बड़ियों को बेहतर तरीके से हैंडल किया गया है.
EnableTracingResponse.requiredVersionको नल के तौर पर मार्क किया गया है, क्योंकि पैकेज से संपर्क न कर पाने की वजह से, हमें वर्शन की जानकारी नहीं मिल सकती. (I5ba20)
वर्शन 1.0.0-alpha01
27 जुलाई, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha01, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01, और androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
- ध्यान दें: सभी
androidx.tracing:tracing-perfetto*लाइब्रेरी, शुरुआत में सिर्फ़ AndroidX लाइब्रेरी में इस्तेमाल करने के लिए बनाई गई थीं. आपको सीधे तौर पर उन पर निर्भर नहीं रहना चाहिए.
नई सुविधाएं
सभी
androidx.tracing:tracing-perfetto*लाइब्रेरी, शुरुआत में सिर्फ़ AndroidX लाइब्रेरी में अंदरूनी तौर पर इस्तेमाल करने के लिए बनाई गई थीं. इसलिए, आपको सीधे तौर पर इन पर निर्भर रहने की ज़रूरत नहीं है. हम इन बदलावों को लागू करने से जुड़ी जानकारी को दस्तावेज़ में शामिल कर रहे हैं, ताकि पारदर्शिता बनी रहे.androidx.tracing:tracing-perfettoएक लाइब्रेरी है. यह कम ओवरहेड वाले Perfetto SDK का इस्तेमाल करके, ट्रेस इवेंट लिखने में मदद करती है. इसका इस्तेमाल Benchmark, Android Studio या Perfetto UI में किया जा सकता है.androidx.tracing:tracing-perfetto-binary, androidx.tracing:tracing-perfetto के लिए ज़रूरी बाइनरी डिपेंडेंसी का सेट है.androidx.tracing:tracing-perfetto-common, androidx.tracing:tracing-perfetto की इंटरनल डिपेंडेंसी है. इसका इस्तेमाल टूलिंग के ज़रिए, androidx.tracing:tracing-perfetto के साथ इंटिग्रेट करने के लिए किया जा सकता है.