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
Add sample rate to baggage as well as trace in envelope header and flatten user (#2135)
* Add sample rate to baggage and trace in envelope header; flatten user
* Add changelog
* Use _ for baggage keys
* Commit tests
* Feat/traces sampler into sample rate (#2141)
* Commit tests
* Add sample rate from traces sampler to DSC
* Do not replace null with true/false
* Restore sample rate in OutboxSender
* Remove fallback for sampling decision from TraceContext
* Remove sample rate fallback from TracesSamplingDecision
* Test more envelope header trace fields for OutboxSender
* CR changes
* Fix changelog
* Only send userid in Dynamic Sampling Context if sendDefaultPii is true (#2147)
* Skip sending userId in DSC if send default pii is off
* Add changelog
* Add test case
Copy file name to clipboardExpand all lines: sentry/api/sentry.api
+32-24Lines changed: 32 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,7 @@ public final class io/sentry/Baggage {
30
30
public fun setEnvironment (Ljava/lang/String;)V
31
31
public fun setPublicKey (Ljava/lang/String;)V
32
32
public fun setRelease (Ljava/lang/String;)V
33
+
public fun setSampleRate (Ljava/lang/String;)V
33
34
public fun setTraceId (Ljava/lang/String;)V
34
35
public fun setTransaction (Ljava/lang/String;)V
35
36
public fun setUserId (Ljava/lang/String;)V
@@ -473,6 +474,7 @@ public abstract interface class io/sentry/ITransaction : io/sentry/ISpan {
473
474
public abstract fun getEventId ()Lio/sentry/protocol/SentryId;
474
475
public abstract fun getLatestActiveSpan ()Lio/sentry/Span;
475
476
public abstract fun getName ()Ljava/lang/String;
477
+
public abstract fun getSamplingDecision ()Lio/sentry/TracesSamplingDecision;
476
478
public abstract fun getSpans ()Ljava/util/List;
477
479
public abstract fun isSampled ()Ljava/lang/Boolean;
478
480
public abstract fun scheduleFinish ()V
@@ -660,6 +662,7 @@ public final class io/sentry/NoOpTransaction : io/sentry/ITransaction {
660
662
public fun getLatestActiveSpan ()Lio/sentry/Span;
661
663
public fun getName ()Ljava/lang/String;
662
664
public fun getOperation ()Ljava/lang/String;
665
+
public fun getSamplingDecision ()Lio/sentry/TracesSamplingDecision;
663
666
public fun getSpanContext ()Lio/sentry/SpanContext;
664
667
public fun getSpans ()Ljava/util/List;
665
668
public fun getStatus ()Lio/sentry/SpanStatus;
@@ -1386,6 +1389,7 @@ public final class io/sentry/SentryTracer : io/sentry/ITransaction {
1386
1389
public fun getLatestActiveSpan ()Lio/sentry/Span;
1387
1390
public fun getName ()Ljava/lang/String;
1388
1391
public fun getOperation ()Ljava/lang/String;
1392
+
public fun getSamplingDecision ()Lio/sentry/TracesSamplingDecision;
1389
1393
public fun getSpanContext ()Lio/sentry/SpanContext;
1390
1394
public fun getSpans ()Ljava/util/List;
1391
1395
public fun getStartTimestamp ()Ljava/util/Date;
@@ -1488,6 +1492,7 @@ public final class io/sentry/Span : io/sentry/ISpan {
1488
1492
public fun getHighPrecisionTimestamp ()Ljava/lang/Double;
1489
1493
public fun getOperation ()Ljava/lang/String;
1490
1494
public fun getParentSpanId ()Lio/sentry/SpanId;
1495
+
public fun getSamplingDecision ()Lio/sentry/TracesSamplingDecision;
1491
1496
public fun getSpanContext ()Lio/sentry/SpanContext;
1492
1497
public fun getSpanId ()Lio/sentry/SpanId;
1493
1498
public fun getStartTimestamp ()Ljava/util/Date;
@@ -1520,14 +1525,15 @@ public class io/sentry/SpanContext : io/sentry/JsonSerializable, io/sentry/JsonU
1520
1525
protected field status Lio/sentry/SpanStatus;
1521
1526
protected field tags Ljava/util/Map;
1522
1527
public fun <init> (Lio/sentry/SpanContext;)V
1523
-
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/SpanId;Lio/sentry/SpanId;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Lio/sentry/SpanStatus;)V
1524
-
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/SpanId;Ljava/lang/String;Lio/sentry/SpanId;Ljava/lang/Boolean;)V
1528
+
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/SpanId;Lio/sentry/SpanId;Ljava/lang/String;Ljava/lang/String;Lio/sentry/TracesSamplingDecision;Lio/sentry/SpanStatus;)V
1529
+
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/SpanId;Ljava/lang/String;Lio/sentry/SpanId;Lio/sentry/TracesSamplingDecision;)V
1525
1530
public fun <init> (Ljava/lang/String;)V
1526
-
public fun <init> (Ljava/lang/String;Ljava/lang/Boolean;)V
1531
+
public fun <init> (Ljava/lang/String;Lio/sentry/TracesSamplingDecision;)V
1527
1532
public fun getDescription ()Ljava/lang/String;
1528
1533
public fun getOperation ()Ljava/lang/String;
1529
1534
public fun getParentSpanId ()Lio/sentry/SpanId;
1530
1535
public fun getSampled ()Ljava/lang/Boolean;
1536
+
public fun getSamplingDecision ()Lio/sentry/TracesSamplingDecision;
1531
1537
public fun getSpanId ()Lio/sentry/SpanId;
1532
1538
public fun getStatus ()Lio/sentry/SpanStatus;
1533
1539
public fun getTags ()Ljava/util/Map;
@@ -1537,6 +1543,7 @@ public class io/sentry/SpanContext : io/sentry/JsonSerializable, io/sentry/JsonU
1537
1543
public fun setDescription (Ljava/lang/String;)V
1538
1544
public fun setOperation (Ljava/lang/String;)V
1539
1545
public fun setSampled (Ljava/lang/Boolean;)V
1546
+
public fun setSamplingDecision (Lio/sentry/TracesSamplingDecision;)V
1540
1547
public fun setStatus (Lio/sentry/SpanStatus;)V
1541
1548
public fun setTag (Ljava/lang/String;Ljava/lang/String;)V
1542
1549
public fun setUnknown (Ljava/util/Map;)V
@@ -1619,10 +1626,12 @@ public final class io/sentry/TraceContext : io/sentry/JsonSerializable, io/sentr
1619
1626
public fun getEnvironment ()Ljava/lang/String;
1620
1627
public fun getPublicKey ()Ljava/lang/String;
1621
1628
public fun getRelease ()Ljava/lang/String;
1629
+
public fun getSampleRate ()Ljava/lang/String;
1622
1630
public fun getTraceId ()Lio/sentry/protocol/SentryId;
1623
1631
public fun getTransaction ()Ljava/lang/String;
1624
1632
public fun getUnknown ()Ljava/util/Map;
1625
-
public fun getUser ()Lio/sentry/TraceContext$TraceContextUser;
1633
+
public fun getUserId ()Ljava/lang/String;
1634
+
public fun getUserSegment ()Ljava/lang/String;
1626
1635
public fun serialize (Lio/sentry/JsonObjectWriter;Lio/sentry/ILogger;)V
1627
1636
public fun setUnknown (Ljava/util/Map;)V
1628
1637
public fun toBaggage (Lio/sentry/ILogger;)Lio/sentry/Baggage;
@@ -1638,31 +1647,20 @@ public final class io/sentry/TraceContext$JsonKeys {
1638
1647
public static final field ENVIRONMENT Ljava/lang/String;
1639
1648
public static final field PUBLIC_KEY Ljava/lang/String;
1640
1649
public static final field RELEASE Ljava/lang/String;
1650
+
public static final field SAMPLE_RATE Ljava/lang/String;
1641
1651
public static final field TRACE_ID Ljava/lang/String;
1642
1652
public static final field TRANSACTION Ljava/lang/String;
1643
1653
public static final field USER Ljava/lang/String;
1654
+
public static final field USER_ID Ljava/lang/String;
1655
+
public static final field USER_SEGMENT Ljava/lang/String;
1644
1656
public fun <init> ()V
1645
1657
}
1646
1658
1647
-
public final class io/sentry/TraceContext$TraceContextUser : io/sentry/JsonSerializable, io/sentry/JsonUnknown {
1648
-
public fun <init> (Lio/sentry/protocol/User;)V
1649
-
public fun getId ()Ljava/lang/String;
1650
-
public fun getSegment ()Ljava/lang/String;
1651
-
public fun getUnknown ()Ljava/util/Map;
1652
-
public fun serialize (Lio/sentry/JsonObjectWriter;Lio/sentry/ILogger;)V
1653
-
public fun setUnknown (Ljava/util/Map;)V
1654
-
}
1655
-
1656
-
public final class io/sentry/TraceContext$TraceContextUser$Deserializer : io/sentry/JsonDeserializer {
1657
-
public fun <init> ()V
1658
-
public fun deserialize (Lio/sentry/JsonObjectReader;Lio/sentry/ILogger;)Lio/sentry/TraceContext$TraceContextUser;
1659
-
public synthetic fun deserialize (Lio/sentry/JsonObjectReader;Lio/sentry/ILogger;)Ljava/lang/Object;
1660
-
}
1661
-
1662
-
public final class io/sentry/TraceContext$TraceContextUser$JsonKeys {
1663
-
public static final field ID Ljava/lang/String;
1664
-
public static final field SEGMENT Ljava/lang/String;
1665
-
public fun <init> ()V
1659
+
public final class io/sentry/TracesSamplingDecision {
1660
+
public fun <init> (Ljava/lang/Boolean;)V
1661
+
public fun <init> (Ljava/lang/Boolean;Ljava/lang/Double;)V
1662
+
public fun getSampleRate ()Ljava/lang/Double;
1663
+
public fun getSampled ()Ljava/lang/Boolean;
1666
1664
}
1667
1665
1668
1666
public final class io/sentry/TracingOrigins {
@@ -1673,10 +1671,11 @@ public final class io/sentry/TracingOrigins {
1673
1671
1674
1672
public final class io/sentry/TransactionContext : io/sentry/SpanContext {
1675
1673
public fun <init> (Ljava/lang/String;Ljava/lang/String;)V
1676
-
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;)V
1674
+
public fun <init> (Ljava/lang/String;Ljava/lang/String;Lio/sentry/TracesSamplingDecision;)V
1677
1675
public static fun fromSentryTrace (Ljava/lang/String;Ljava/lang/String;Lio/sentry/SentryTraceHeader;)Lio/sentry/TransactionContext;
1678
1676
public fun getName ()Ljava/lang/String;
1679
1677
public fun getParentSampled ()Ljava/lang/Boolean;
1678
+
public fun getParentSamplingDecision ()Lio/sentry/TracesSamplingDecision;
1680
1679
public fun setParentSampled (Ljava/lang/Boolean;)V
1681
1680
}
1682
1681
@@ -2826,6 +2825,7 @@ public final class io/sentry/protocol/SentryTransaction : io/sentry/SentryBaseEv
2826
2825
public fun <init> (Lio/sentry/SentryTracer;)V
2827
2826
public fun <init> (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/util/Map;)V
2828
2827
public fun getMeasurements ()Ljava/util/Map;
2828
+
public fun getSamplingDecision ()Lio/sentry/TracesSamplingDecision;
2829
2829
public fun getSpans ()Ljava/util/List;
2830
2830
public fun getStartTimestamp ()Ljava/lang/Double;
2831
2831
public fun getStatus ()Lio/sentry/SpanStatus;
@@ -3035,6 +3035,14 @@ public final class io/sentry/util/Platform {
3035
3035
public static fun isJvm ()Z
3036
3036
}
3037
3037
3038
+
public final class io/sentry/util/SampleRateUtil {
3039
+
public fun <init> ()V
3040
+
public static fun isValidSampleRate (Ljava/lang/Double;)Z
3041
+
public static fun isValidSampleRate (Ljava/lang/Double;Z)Z
3042
+
public static fun isValidTracesSampleRate (Ljava/lang/Double;)Z
3043
+
public static fun isValidTracesSampleRate (Ljava/lang/Double;Z)Z
3044
+
}
3045
+
3038
3046
public final class io/sentry/util/StringUtils {
3039
3047
public static fun byteCountToString (J)Ljava/lang/String;
3040
3048
public static fun calculateStringHash (Ljava/lang/String;Lio/sentry/ILogger;)Ljava/lang/String;
0 commit comments