Skip to content

Commit 0939549

Browse files
authored
Merge 3acbd63 into f634d01
2 parents f634d01 + 3acbd63 commit 0939549

81 files changed

Lines changed: 5873 additions & 61 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

buildSrc/src/main/java/Config.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ object Config {
8383
val SENTRY_OKHTTP_SDK_NAME = "$SENTRY_JAVA_SDK_NAME.okhttp"
8484
val SENTRY_REACTOR_SDK_NAME = "$SENTRY_JAVA_SDK_NAME.reactor"
8585
val SENTRY_KOTLIN_EXTENSIONS_SDK_NAME = "$SENTRY_JAVA_SDK_NAME.kotlin-extensions"
86+
val SENTRY_ASYNC_PROFILER_SDK_NAME = "$SENTRY_JAVA_SDK_NAME.async-profiler"
8687
val SENTRY_KTOR_CLIENT_SDK_NAME = "$SENTRY_JAVA_SDK_NAME.ktor-client"
8788
val group = "io.sentry"
8889
val description = "SDK for sentry.io"

sentry-android-core/src/main/java/io/sentry/android/core/AndroidContinuousProfiler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,8 @@ private void stop(final boolean restartProfiler) {
300300
chunkId,
301301
endData.measurementsMap,
302302
endData.traceFile,
303-
startProfileChunkTimestamp));
303+
startProfileChunkTimestamp,
304+
ProfileChunk.PLATFORM_ANDROID));
304305
}
305306
}
306307

Lines changed: 335 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,335 @@
1+
public final class io/sentry/asyncprofiler/BuildConfig {
2+
public static final field SENTRY_ASYNC_PROFILER_SDK_NAME Ljava/lang/String;
3+
public static final field VERSION_NAME Ljava/lang/String;
4+
}
5+
6+
public final class io/sentry/asyncprofiler/convert/JfrAsyncProfilerToSentryProfileConverter : io/sentry/asyncprofiler/vendor/asyncprofiler/convert/JfrConverter {
7+
public fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader;Lio/sentry/asyncprofiler/vendor/asyncprofiler/convert/Arguments;Lio/sentry/SentryStackTraceFactory;Lio/sentry/ILogger;)V
8+
public static fun convertFromFileStatic (Ljava/nio/file/Path;)Lio/sentry/protocol/profiling/SentryProfile;
9+
}
10+
11+
public final class io/sentry/asyncprofiler/convert/NonAggregatingEventCollector : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector {
12+
public fun <init> ()V
13+
public fun afterChunk ()V
14+
public fun beforeChunk ()V
15+
public fun collect (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)V
16+
public fun finish ()Z
17+
public fun forEach (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector$Visitor;)V
18+
}
19+
20+
public final class io/sentry/asyncprofiler/profiling/JavaContinuousProfiler : io/sentry/IContinuousProfiler, io/sentry/transport/RateLimiter$IRateLimitObserver {
21+
public fun <init> (Lio/sentry/ILogger;Ljava/lang/String;ILio/sentry/ISentryExecutorService;)V
22+
public fun close (Z)V
23+
public fun getProfilerId ()Lio/sentry/protocol/SentryId;
24+
public fun getRootSpanCounter ()I
25+
public fun isRunning ()Z
26+
public fun onRateLimitChanged (Lio/sentry/transport/RateLimiter;)V
27+
public fun reevaluateSampling ()V
28+
public fun startProfiler (Lio/sentry/ProfileLifecycle;Lio/sentry/TracesSampler;)V
29+
public fun stopProfiler (Lio/sentry/ProfileLifecycle;)V
30+
}
31+
32+
public final class io/sentry/asyncprofiler/provider/AsyncProfilerContinuousProfilerProvider : io/sentry/profiling/JavaContinuousProfilerProvider {
33+
public fun <init> ()V
34+
public fun getContinuousProfiler (Lio/sentry/ILogger;Ljava/lang/String;ILio/sentry/ISentryExecutorService;)Lio/sentry/IContinuousProfiler;
35+
}
36+
37+
public final class io/sentry/asyncprofiler/provider/AsyncProfilerProfileConverterProvider : io/sentry/profiling/JavaProfileConverterProvider {
38+
public fun <init> ()V
39+
public fun getProfileConverter ()Lio/sentry/IProfileConverter;
40+
}
41+
42+
public final class io/sentry/asyncprofiler/provider/AsyncProfilerProfileConverterProvider$AsyncProfilerProfileConverter : io/sentry/IProfileConverter {
43+
public fun <init> ()V
44+
public fun convertFromFile (Ljava/nio/file/Path;)Lio/sentry/protocol/profiling/SentryProfile;
45+
}
46+
47+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/convert/Arguments {
48+
public field alloc Z
49+
public field bci Z
50+
public field classify Z
51+
public field cpu Z
52+
public field dot Z
53+
public field exclude Ljava/util/regex/Pattern;
54+
public final field files Ljava/util/List;
55+
public field from J
56+
public field grain D
57+
public field help Z
58+
public field highlight Ljava/lang/String;
59+
public field include Ljava/util/regex/Pattern;
60+
public field inverted Z
61+
public field leak Z
62+
public field lines Z
63+
public field live Z
64+
public field lock Z
65+
public field minwidth D
66+
public field nativemem Z
67+
public field norm Z
68+
public field output Ljava/lang/String;
69+
public field reverse Z
70+
public field simple Z
71+
public field skip I
72+
public field state Ljava/lang/String;
73+
public field threads Z
74+
public field title Ljava/lang/String;
75+
public field to J
76+
public field total Z
77+
public field wall Z
78+
public fun <init> ([Ljava/lang/String;)V
79+
}
80+
81+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/convert/Frame : java/util/HashMap {
82+
public static final field TYPE_C1_COMPILED B
83+
public static final field TYPE_CPP B
84+
public static final field TYPE_INLINED B
85+
public static final field TYPE_INTERPRETED B
86+
public static final field TYPE_JIT_COMPILED B
87+
public static final field TYPE_KERNEL B
88+
public static final field TYPE_NATIVE B
89+
}
90+
91+
public abstract class io/sentry/asyncprofiler/vendor/asyncprofiler/convert/JfrConverter {
92+
protected final field args Lio/sentry/asyncprofiler/vendor/asyncprofiler/convert/Arguments;
93+
protected final field collector Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector;
94+
protected final field jfr Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader;
95+
protected field methodNames Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
96+
public fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader;Lio/sentry/asyncprofiler/vendor/asyncprofiler/convert/Arguments;)V
97+
protected fun collectEvents ()V
98+
public fun convert ()V
99+
protected fun convertChunk ()V
100+
protected fun createCollector (Lio/sentry/asyncprofiler/vendor/asyncprofiler/convert/Arguments;)Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector;
101+
public synthetic fun getCategory (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/StackTrace;)Lio/sentry/asyncprofiler/vendor/asyncprofiler/convert/Classifier$Category;
102+
public fun getClassName (J)Ljava/lang/String;
103+
public fun getMethodName (JB)Ljava/lang/String;
104+
public fun getPlainThreadName (I)Ljava/lang/String;
105+
public fun getStackTraceElement (JBI)Ljava/lang/StackTraceElement;
106+
public fun getThreadName (I)Ljava/lang/String;
107+
protected fun getThreadStates (Z)Ljava/util/BitSet;
108+
protected fun isNativeFrame (B)Z
109+
protected fun toThreadState (Ljava/lang/String;)I
110+
protected fun toTicks (J)J
111+
}
112+
113+
protected abstract class io/sentry/asyncprofiler/vendor/asyncprofiler/convert/JfrConverter$AggregatedEventVisitor : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector$Visitor {
114+
protected fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/convert/JfrConverter;)V
115+
protected abstract fun visit (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;J)V
116+
public final fun visit (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;JJ)V
117+
}
118+
119+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/ClassRef {
120+
public final field name J
121+
public fun <init> (J)V
122+
}
123+
124+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary {
125+
public fun <init> ()V
126+
public fun <init> (I)V
127+
public fun clear ()V
128+
public fun forEach (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary$Visitor;)V
129+
public fun get (J)Ljava/lang/Object;
130+
public fun preallocate (I)I
131+
public fun put (JLjava/lang/Object;)V
132+
public fun size ()I
133+
}
134+
135+
public abstract interface class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary$Visitor {
136+
public abstract fun visit (JLjava/lang/Object;)V
137+
}
138+
139+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/DictionaryInt {
140+
public fun <init> ()V
141+
public fun <init> (I)V
142+
public fun clear ()V
143+
public fun forEach (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/DictionaryInt$Visitor;)V
144+
public fun get (J)I
145+
public fun get (JI)I
146+
public fun preallocate (I)I
147+
public fun put (JI)V
148+
}
149+
150+
public abstract interface class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/DictionaryInt$Visitor {
151+
public abstract fun visit (JI)V
152+
}
153+
154+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrClass {
155+
public fun field (Ljava/lang/String;)Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrField;
156+
}
157+
158+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrField {
159+
}
160+
161+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader : java/io/Closeable {
162+
public field chunkEndNanos J
163+
public field chunkStartNanos J
164+
public field chunkStartTicks J
165+
public final field classes Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
166+
public field endNanos J
167+
public final field enums Ljava/util/Map;
168+
public final field javaThreads Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
169+
public final field methods Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
170+
public final field settings Ljava/util/Map;
171+
public final field stackTraces Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
172+
public field startNanos J
173+
public field startTicks J
174+
public field stopAtNewChunk Z
175+
public final field strings Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
176+
public final field symbols Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
177+
public final field threads Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
178+
public field ticksPerSec J
179+
public final field types Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/Dictionary;
180+
public final field typesByName Ljava/util/Map;
181+
public fun <init> (Ljava/lang/String;)V
182+
public fun <init> (Ljava/nio/ByteBuffer;)V
183+
public fun close ()V
184+
public fun durationNanos ()J
185+
public fun eof ()Z
186+
public fun getBytes ()[B
187+
public fun getDouble ()D
188+
public fun getEnumKey (Ljava/lang/String;Ljava/lang/String;)I
189+
public fun getEnumValue (Ljava/lang/String;I)Ljava/lang/String;
190+
public fun getFloat ()F
191+
public fun getString ()Ljava/lang/String;
192+
public fun getVarint ()I
193+
public fun getVarlong ()J
194+
public fun hasMoreChunks ()Z
195+
public fun incomplete ()Z
196+
public fun readAllEvents ()Ljava/util/List;
197+
public fun readAllEvents (Ljava/lang/Class;)Ljava/util/List;
198+
public fun readEvent ()Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;
199+
public fun readEvent (Ljava/lang/Class;)Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;
200+
public fun registerEvent (Ljava/lang/String;Ljava/lang/Class;)V
201+
}
202+
203+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/MethodRef {
204+
public final field cls J
205+
public final field name J
206+
public final field sig J
207+
public fun <init> (JJJ)V
208+
}
209+
210+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/StackTrace {
211+
public final field locations [I
212+
public final field methods [J
213+
public final field types [B
214+
public fun <init> ([J[B[I)V
215+
}
216+
217+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/AllocationSample : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
218+
public final field allocationSize J
219+
public final field classId I
220+
public final field tlabSize J
221+
public fun <init> (JIIIJJ)V
222+
public fun classId ()J
223+
public fun hashCode ()I
224+
public fun sameGroup (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)Z
225+
public fun value ()J
226+
}
227+
228+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/CPULoad : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
229+
public final field jvmSystem F
230+
public final field jvmUser F
231+
public final field machineTotal F
232+
public fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader;)V
233+
}
234+
235+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/ContendedLock : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
236+
public final field classId I
237+
public final field duration J
238+
public fun <init> (JIIJI)V
239+
public fun classId ()J
240+
public fun hashCode ()I
241+
public fun sameGroup (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)Z
242+
public fun value ()J
243+
}
244+
245+
public abstract class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event : java/lang/Comparable {
246+
public final field stackTraceId I
247+
public final field tid I
248+
public final field time J
249+
protected fun <init> (JII)V
250+
public fun classId ()J
251+
public fun compareTo (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)I
252+
public synthetic fun compareTo (Ljava/lang/Object;)I
253+
public fun hashCode ()I
254+
public fun sameGroup (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)Z
255+
public fun samples ()J
256+
public fun toString ()Ljava/lang/String;
257+
public fun value ()J
258+
}
259+
260+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventAggregator : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector {
261+
public fun <init> (ZD)V
262+
public fun afterChunk ()V
263+
public fun beforeChunk ()V
264+
public fun coarsen (D)V
265+
public fun collect (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)V
266+
public fun collect (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;JJ)V
267+
public fun finish ()Z
268+
public fun forEach (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector$Visitor;)V
269+
public fun size ()I
270+
}
271+
272+
public abstract interface class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector {
273+
public abstract fun afterChunk ()V
274+
public abstract fun beforeChunk ()V
275+
public abstract fun collect (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)V
276+
public abstract fun finish ()Z
277+
public abstract fun forEach (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector$Visitor;)V
278+
}
279+
280+
public abstract interface class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector$Visitor {
281+
public abstract fun visit (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;JJ)V
282+
}
283+
284+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/ExecutionSample : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
285+
public final field samples I
286+
public final field threadState I
287+
public fun <init> (JIIII)V
288+
public fun samples ()J
289+
public fun value ()J
290+
}
291+
292+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/GCHeapSummary : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
293+
public final field afterGC Z
294+
public final field committed J
295+
public final field gcId I
296+
public final field reserved J
297+
public final field used J
298+
public fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader;)V
299+
}
300+
301+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/LiveObject : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
302+
public final field allocationSize J
303+
public final field allocationTime J
304+
public final field classId I
305+
public fun <init> (JIIIJJ)V
306+
public fun classId ()J
307+
public fun hashCode ()I
308+
public fun sameGroup (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)Z
309+
public fun value ()J
310+
}
311+
312+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/MallocEvent : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
313+
public final field address J
314+
public final field size J
315+
public fun <init> (JIIJJ)V
316+
public fun value ()J
317+
}
318+
319+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/MallocLeakAggregator : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector {
320+
public fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector;)V
321+
public fun afterChunk ()V
322+
public fun beforeChunk ()V
323+
public fun collect (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event;)V
324+
public fun finish ()Z
325+
public fun forEach (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/EventCollector$Visitor;)V
326+
}
327+
328+
public final class io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/ObjectCount : io/sentry/asyncprofiler/vendor/asyncprofiler/jfr/event/Event {
329+
public final field classId I
330+
public final field count J
331+
public final field gcId I
332+
public final field totalSize J
333+
public fun <init> (Lio/sentry/asyncprofiler/vendor/asyncprofiler/jfr/JfrReader;)V
334+
}
335+

0 commit comments

Comments
 (0)