You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Set continuousProfilesSampleRate and startProfiler() and stopProfiler() as experimental
* Added chunk start timestamp to ProfileChunk
* increased continuous profiling chunk duration to 1 minute
Copy file name to clipboardExpand all lines: CHANGELOG.md
+40Lines changed: 40 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,45 @@
1
1
# Changelog
2
2
3
+
## Unreleased
4
+
5
+
### Features
6
+
7
+
- Add Continuous Profiling Support ([#3710](https://github.com/getsentry/sentry-java/pull/3710))
8
+
9
+
To enable Continuous Profiling use the `Sentry.startProfiler` and `Sentry.stopProfiler` experimental APIs. Sampling rate can be set through `options.continuousProfilesSampleRate` (defaults to 1.0).
10
+
Note: Both `options.profilesSampler` and `options.profilesSampleRate` must **not** be set to enable Continuous Profiling.
// After all profiling is done, stop the profiler. Profiles can last indefinitely if not stopped.
38
+
Sentry.stopProfiler()
39
+
```
40
+
41
+
To learn more visit [Sentry's Continuous Profiling](https://docs.sentry.io/product/explore/profiling/transaction-vs-continuous-profiling/#continuous-profiling-mode) documentation page.
Copy file name to clipboardExpand all lines: sentry/api/sentry.api
+6-3Lines changed: 6 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -443,7 +443,9 @@ public abstract interface class io/sentry/EventProcessor {
443
443
444
444
public final class io/sentry/ExperimentalOptions {
445
445
public fun <init> (Z)V
446
+
public fun getContinuousProfilesSampleRate ()D
446
447
public fun getSessionReplay ()Lio/sentry/SentryReplayOptions;
448
+
public fun setContinuousProfilesSampleRate (D)V
447
449
public fun setSessionReplay (Lio/sentry/SentryReplayOptions;)V
448
450
}
449
451
@@ -1846,7 +1848,7 @@ public final class io/sentry/PerformanceCollectionData {
1846
1848
1847
1849
public final class io/sentry/ProfileChunk : io/sentry/JsonSerializable, io/sentry/JsonUnknown {
1848
1850
public fun <init> ()V
1849
-
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/protocol/SentryId;Ljava/io/File;Ljava/util/Map;Lio/sentry/SentryOptions;)V
1851
+
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/protocol/SentryId;Ljava/io/File;Ljava/util/Map;Ljava/lang/Double;Lio/sentry/SentryOptions;)V
1850
1852
public fun equals (Ljava/lang/Object;)Z
1851
1853
public fun getChunkId ()Lio/sentry/protocol/SentryId;
1852
1854
public fun getClientSdk ()Lio/sentry/protocol/SdkVersion;
@@ -1857,6 +1859,7 @@ public final class io/sentry/ProfileChunk : io/sentry/JsonSerializable, io/sentr
1857
1859
public fun getProfilerId ()Lio/sentry/protocol/SentryId;
1858
1860
public fun getRelease ()Ljava/lang/String;
1859
1861
public fun getSampledProfile ()Ljava/lang/String;
1862
+
public fun getTimestamp ()D
1860
1863
public fun getTraceFile ()Ljava/io/File;
1861
1864
public fun getUnknown ()Ljava/util/Map;
1862
1865
public fun getVersion ()Ljava/lang/String;
@@ -1868,7 +1871,7 @@ public final class io/sentry/ProfileChunk : io/sentry/JsonSerializable, io/sentr
1868
1871
}
1869
1872
1870
1873
public final class io/sentry/ProfileChunk$Builder {
1871
-
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/protocol/SentryId;Ljava/util/Map;Ljava/io/File;)V
1874
+
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/protocol/SentryId;Ljava/util/Map;Ljava/io/File;Lio/sentry/SentryDate;)V
1872
1875
public fun build (Lio/sentry/SentryOptions;)Lio/sentry/ProfileChunk;
1873
1876
}
1874
1877
@@ -1888,6 +1891,7 @@ public final class io/sentry/ProfileChunk$JsonKeys {
1888
1891
public static final field PROFILER_ID Ljava/lang/String;
1889
1892
public static final field RELEASE Ljava/lang/String;
1890
1893
public static final field SAMPLED_PROFILE Ljava/lang/String;
1894
+
public static final field TIMESTAMP Ljava/lang/String;
1891
1895
public static final field VERSION Ljava/lang/String;
1892
1896
public fun <init> ()V
1893
1897
}
@@ -3066,7 +3070,6 @@ public class io/sentry/SentryOptions {
3066
3070
public fun setConnectionStatusProvider (Lio/sentry/IConnectionStatusProvider;)V
3067
3071
public fun setConnectionTimeoutMillis (I)V
3068
3072
public fun setContinuousProfiler (Lio/sentry/IContinuousProfiler;)V
3069
-
public fun setContinuousProfilesSampleRate (D)V
3070
3073
public fun setCron (Lio/sentry/SentryOptions$Cron;)V
3071
3074
public fun setDateProvider (Lio/sentry/SentryDateProvider;)V
0 commit comments