datadog_lambda 8.127.0__tar.gz → 8.128.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/PKG-INFO +1 -1
  2. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/cold_start.py +5 -1
  3. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/config.py +7 -0
  4. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/tracing.py +7 -4
  5. datadog_lambda-8.128.0/datadog_lambda/version.py +1 -0
  6. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/pyproject.toml +1 -1
  7. datadog_lambda-8.127.0/datadog_lambda/version.py +0 -1
  8. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/LICENSE +0 -0
  9. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/LICENSE-3rdparty.csv +0 -0
  10. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/NOTICE +0 -0
  11. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/README.md +0 -0
  12. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/__init__.py +0 -0
  13. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/api.py +0 -0
  14. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/asm.py +0 -0
  15. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/constants.py +0 -0
  16. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/dogstatsd.py +0 -0
  17. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/durable.py +0 -0
  18. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/extension.py +0 -0
  19. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/handler.py +0 -0
  20. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/logger.py +0 -0
  21. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/metric.py +0 -0
  22. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/module_name.py +0 -0
  23. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/patch.py +0 -0
  24. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/span_pointers.py +0 -0
  25. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/stats_writer.py +0 -0
  26. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/statsd_writer.py +0 -0
  27. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/tag_object.py +0 -0
  28. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/tags.py +0 -0
  29. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/thread_stats_writer.py +0 -0
  30. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/trigger.py +0 -0
  31. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/wrapper.py +0 -0
  32. {datadog_lambda-8.127.0 → datadog_lambda-8.128.0}/datadog_lambda/xray.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datadog_lambda
3
- Version: 8.127.0
3
+ Version: 8.128.0
4
4
  Summary: The Datadog AWS Lambda Library
5
5
  Home-page: https://github.com/DataDog/datadog-lambda-python
6
6
  License: Apache-2.0
@@ -202,7 +202,11 @@ class ColdStartTracer(object):
202
202
  cold_start_span = self.create_cold_start_span(cold_start_span_start_time_ns)
203
203
  while root_nodes:
204
204
  root_node = root_nodes.pop()
205
- parent = root_node.context or cold_start_span
205
+ # Modules lazily imported during the invocation hang off the function
206
+ # span, not the span active at import time: nesting them under a
207
+ # client span (e.g. a DynamoDB call) makes the backend peer service
208
+ # pipeline map that client's host to the import span's service.
209
+ parent = self.trace_ctx if root_node.context else cold_start_span
206
210
  self.trace_tree(root_node, parent)
207
211
  self.finish_span(cold_start_span, cold_start_span_end_time_ns)
208
212
 
@@ -75,6 +75,13 @@ class Config:
75
75
  add_span_pointers = _get_env("DD_BOTOCORE_ADD_SPAN_POINTERS", "true", as_bool)
76
76
  trace_extractor = _get_env("DD_TRACE_EXTRACTOR")
77
77
 
78
+ aws_service_representation_enabled = _get_env(
79
+ "DD_TRACE_AWS_SERVICE_REPRESENTATION_ENABLED", "true", as_bool
80
+ )
81
+ remove_integration_service_names_enabled = _get_env(
82
+ "DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED", "false", as_bool
83
+ )
84
+
78
85
  enhanced_metrics_enabled = _get_env("DD_ENHANCED_METRICS", "true", as_bool)
79
86
 
80
87
  flush_in_thread = _get_env("DD_FLUSH_IN_THREAD", "false", as_bool)
@@ -906,11 +906,14 @@ def determine_service_name(
906
906
  if mapped_service:
907
907
  return mapped_service
908
908
 
909
+ # When integration service names are removed, inferred (synthetic) spans use
910
+ # the base service name (DD_SERVICE) instead of the AWS resource/instance
911
+ # representation.
912
+ if config.remove_integration_service_names_enabled and config.service:
913
+ return config.service
914
+
909
915
  # Check if AWS service representation is disabled
910
- aws_service_representation = os.environ.get(
911
- "DD_TRACE_AWS_SERVICE_REPRESENTATION_ENABLED", ""
912
- ).lower()
913
- if aws_service_representation in ("false", "0"):
916
+ if not config.aws_service_representation_enabled:
914
917
  return fallback
915
918
 
916
919
  # Use extracted_key if it exists and is not empty, otherwise use fallback
@@ -0,0 +1 @@
1
+ __version__ = "8.128.0"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "datadog_lambda"
3
- version = "8.127.0"
3
+ version = "8.128.0"
4
4
  description = "The Datadog AWS Lambda Library"
5
5
  authors = ["Datadog, Inc. <dev@datadoghq.com>"]
6
6
  license = "Apache-2.0"
@@ -1 +0,0 @@
1
- __version__ = "8.127.0"