Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ddtrace/internal/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
_PROPAGATION_BEHAVIOR_CONTINUE = "continue"
_PROPAGATION_BEHAVIOR_IGNORE = "ignore"
_PROPAGATION_BEHAVIOR_RESTART = "restart"
KNUTH_SAMPLE_RATE_KEY = "_dd.p.ksr"
_PROPAGATION_BEHAVIOR_DEFAULT = _PROPAGATION_BEHAVIOR_CONTINUE
W3C_TRACESTATE_KEY = "tracestate"
W3C_TRACEPARENT_KEY = "traceparent"
Expand Down
3 changes: 3 additions & 0 deletions ddtrace/internal/sampling.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from ddtrace.constants import _SINGLE_SPAN_SAMPLING_RATE
from ddtrace.internal.constants import _KEEP_PRIORITY_INDEX
from ddtrace.internal.constants import _REJECT_PRIORITY_INDEX
from ddtrace.internal.constants import KNUTH_SAMPLE_RATE_KEY
from ddtrace.internal.constants import MAX_UINT_64BITS
from ddtrace.internal.constants import SAMPLING_DECISION_TRACE_TAG_KEY
from ddtrace.internal.constants import SAMPLING_HASH_MODULO
Expand Down Expand Up @@ -244,8 +245,10 @@ def _set_sampling_tags(span: Span, sampled: bool, sample_rate: float, mechanism:
SamplingMechanism.REMOTE_DYNAMIC_TRACE_SAMPLING_RULE,
):
span.set_metric(_SAMPLING_RULE_DECISION, sample_rate)
span.set_tag_str(KNUTH_SAMPLE_RATE_KEY, f"{sample_rate:.6g}")
elif mechanism == SamplingMechanism.AGENT_RATE_BY_SERVICE:
span.set_metric(_SAMPLING_AGENT_DECISION, sample_rate)
span.set_tag_str(KNUTH_SAMPLE_RATE_KEY, f"{sample_rate:.6g}")
# Set the sampling priority
priorities = SAMPLING_MECHANISM_TO_PRIORITIES[mechanism]
priority_index = _KEEP_PRIORITY_INDEX if sampled else _REJECT_PRIORITY_INDEX
Expand Down
7 changes: 3 additions & 4 deletions ddtrace/propagation/http.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from ddtrace._trace.span import Span # noqa:F401
from ddtrace._trace.span import _get_64_highest_order_bits_as_hex
from ddtrace._trace.span import _get_64_lowest_order_bits_as_int
from ddtrace._trace.span import _MetaDictType
from ddtrace._trace.types import _MetaDictType
from ddtrace.appsec._constants import APPSEC
from ddtrace.internal import core
from ddtrace.internal.telemetry import telemetry_writer
Expand Down Expand Up @@ -220,7 +220,7 @@ def _extract_meta(tags_value):
meta = {
"_dd.propagation_error": "extract_max_size",
}
log.warning("failed to decode x-datadog-tags", exc_info=True)
log.warning("failed to decode x-datadog-tags: %r", tags_value, exc_info=True)
except TagsetDecodeError:
meta = {
"_dd.propagation_error": "decoding_error",
Expand Down Expand Up @@ -360,7 +360,6 @@ def _extract(headers):

if not meta:
meta = {}

# Try to parse values into their expected types
try:
if sampling_priority is not None:
Expand Down Expand Up @@ -672,7 +671,7 @@ class _TraceContext:
The format for ``tracestate`` is key value pairs with each entry limited to 256 characters.
An example of the ``dd`` list member we would add is::
"dd=s:2;o:rum;t.dm:-4;t.usr.id:baz64"
"dd=s:2;o:rum;t.dm:-4;t.usr.id:baz64;t.ksr:0.0001"
Implementation details:
- Datadog Trace and Span IDs are 64-bit unsigned integers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "10b45fb36ca3465fa2b6dbd7b10bdccf"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "10b45fb36ca3465fa2b6dbd7b10bdccf"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "1.0000001",
"language": "python",
"runtime-id": "10b45fb36ca3465fa2b6dbd7b10bdccf"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "9d1cfdf7026e45dea46fc4c83768cc7b"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"language": "python",
"runtime-id": "9d1cfdf7026e45dea46fc4c83768cc7b"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-4",
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "6f2eeb0b30c54268b96f6eca8a2d66ba"
},
Expand Down Expand Up @@ -46,6 +47,7 @@
"type": "",
"error": 0,
"meta": {
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "6f2eeb0b30c54268b96f6eca8a2d66ba"
},
Expand Down Expand Up @@ -82,6 +84,7 @@
"type": "",
"error": 0,
"meta": {
"_dd.p.ksr": "0",
"language": "python",
"runtime-id": "6f2eeb0b30c54268b96f6eca8a2d66ba"
},
Expand Down Expand Up @@ -119,6 +122,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "6f2eeb0b30c54268b96f6eca8a2d66ba"
},
Expand Down Expand Up @@ -155,6 +159,7 @@
"type": "",
"error": 0,
"meta": {
"_dd.p.ksr": "0.000001",
"language": "python",
"runtime-id": "6f2eeb0b30c54268b96f6eca8a2d66ba"
},
Expand Down Expand Up @@ -192,6 +197,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"language": "python",
"runtime-id": "6f2eeb0b30c54268b96f6eca8a2d66ba"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"meta": {
"_dd.base_service": "tests.integration",
"_dd.p.dm": "-1",
"_dd.p.ksr": "0.9999",
"_dd.p.tid": "656a1a2b00000000",
"language": "python",
"runtime-id": "701521214f1f4473abe1afca4813fbec"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"meta": {
"_dd.base_service": "tests.integration",
"_dd.p.dm": "-1",
"_dd.p.ksr": "0.0001",
"_dd.p.tid": "656a1a2b00000000",
"language": "python",
"runtime-id": "701521214f1f4473abe1afca4813fbec"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "68824df100000000",
"language": "python",
"runtime-id": "79453d6c5643438bbdf8e2c1d9548877"
Expand Down Expand Up @@ -37,6 +38,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "68824df100000000",
"language": "python",
"runtime-id": "79453d6c5643438bbdf8e2c1d9548877"
Expand Down Expand Up @@ -64,6 +66,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "68824df100000000",
"language": "python",
"runtime-id": "79453d6c5643438bbdf8e2c1d9548877"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"meta": {
"_dd.base_service": "ddtrace_subprocess_dir",
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"_dd.p.tid": "65cd344600000000",
"language": "python",
"runtime-id": "9356e035b52344f6b4a7227820d797d5",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"language": "python",
"runtime-id": "7871c85140a0460c939f2c0fe8153f65"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "68828b2100000000",
"language": "python",
"runtime-id": "992ed589103d4826839b0d6ec8b5766f"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"language": "python",
"runtime-id": "c7c739442f864f07b02918014eb23b3a",
"tag1": "mycooltag"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65ca9a0600000000",
"language": "python",
"runtime-id": "45b9ec5ab8354bbcafce88b29abcb7a4",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"language": "python",
"runtime-id": "c7c739442f864f07b02918014eb23b3a",
"tag1": "mycooltag"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65ca9a0600000000",
"language": "python",
"runtime-id": "45b9ec5ab8354bbcafce88b29abcb7a4",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
"meta": {
"_dd.base_service": "ddtrace_subprocess_dir",
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cbae1700000000",
"language": "python",
"runtime-id": "ddb451e9ba4245cc915e8914d4f8c008",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"language": "python",
"runtime-id": "c3c5d61c08d04b488d7b54ebe541d3be",
"tag1": "mycooltag"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cbe3ad00000000",
"language": "python",
"runtime-id": "4ef91661e8454c5e9b76221f1d77592e",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"meta": {
"_dd.base_service": "ddtrace_subprocess_dir",
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "6881b20100000000",
"language": "python",
"runtime-id": "e5827348f1274e43a58dc88d9dc65596",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cce0ee00000000",
"language": "python",
"runtime-id": "07be192aacd94df1a67482ebde627263",
Expand Down Expand Up @@ -63,6 +64,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cce0ee00000000",
"language": "python",
"runtime-id": "07be192aacd94df1a67482ebde627263",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cd05a600000000",
"language": "python",
"runtime-id": "ab78d1d0e61246e1b417857c4ea49171",
Expand Down Expand Up @@ -63,6 +64,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cd05a600000000",
"language": "python",
"runtime-id": "ab78d1d0e61246e1b417857c4ea49171",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cd193b00000000",
"language": "python",
"runtime-id": "1627de339aa344188313503df35b1373",
Expand Down Expand Up @@ -63,6 +64,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cd193b00000000",
"language": "python",
"runtime-id": "1627de339aa344188313503df35b1373"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cd193b00000000",
"language": "python",
"runtime-id": "1627de339aa344188313503df35b1373",
Expand Down Expand Up @@ -63,6 +64,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "65cd193b00000000",
"language": "python",
"runtime-id": "1627de339aa344188313503df35b1373",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "68a5d4f600000000",
"language": "python",
"runtime-id": "bd82a94572fa42f3b93b6c15e1cce2b0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"error": 0,
"meta": {
"_dd.p.dm": "-3",
"_dd.p.ksr": "0",
"_dd.p.tid": "68a5d77c00000000",
"language": "python",
"runtime-id": "a94ba981c47e47afada25a6e6e152765"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"meta": {
"_dd.base_service": "tests.integration",
"_dd.p.dm": "-3",
"_dd.p.ksr": "1",
"_dd.p.tid": "6670641f00000000",
"language": "python",
"runtime-id": "423178dbb29d4ca784743ac73e5678c8"
Expand Down
Loading