44from datadog_lambda .cold_start import get_cold_start_tag
55
66
7- def _format_dd_lambda_layer_tag ():
8- """
9- Formats the dd_lambda_layer tag, e.g., 'dd_lambda_layer:datadog-python39_1'
10- """
11- major , minor = sys .version_info [0 ], sys .version_info [1 ]
12- return f"dd_lambda_layer:datadog-python{ major } { minor } _{ __version__ } "
13-
14-
15- def tag_dd_lambda_layer (tags ):
16- """
17- Used by lambda_metric to insert the dd_lambda_layer tag
18- """
19- dd_lambda_layer_tag = _format_dd_lambda_layer_tag ()
20- if tags :
21- return tags + [dd_lambda_layer_tag ]
22- else :
23- return [dd_lambda_layer_tag ]
7+ _major , _minor = sys .version_info [0 ], sys .version_info [1 ]
8+ dd_lambda_layer_tag = f"dd_lambda_layer:datadog-python{ _major } { _minor } _{ __version__ } "
9+ runtime_tag = f"runtime:python{ _major } .{ _minor } "
10+ library_version_tag = f"datadog_lambda:v{ __version__ } "
2411
2512
2613def parse_lambda_tags_from_arn (lambda_context ):
@@ -30,12 +17,12 @@ def parse_lambda_tags_from_arn(lambda_context):
3017 ex: lambda_context.arn = arn:aws:lambda:us-east-1:123597598159:function:my-lambda:1
3118 """
3219 # Set up flag for extra testing to distinguish between a version or alias
33- hasAlias = False
20+ has_alias = False
3421 # Cap the number of times to spli
3522 split_arn = lambda_context .invoked_function_arn .split (":" )
3623
3724 if len (split_arn ) > 7 :
38- hasAlias = True
25+ has_alias = True
3926 _ , _ , _ , region , account_id , _ , function_name , alias = split_arn
4027 else :
4128 _ , _ , _ , region , account_id , _ , function_name = split_arn
@@ -48,7 +35,7 @@ def parse_lambda_tags_from_arn(lambda_context):
4835 ]
4936
5037 # Check if we have a version or alias
51- if hasAlias :
38+ if has_alias :
5239 # If $Latest, drop the $ for datadog tag convention. A lambda alias can't start with $
5340 if alias .startswith ("$" ):
5441 alias = alias [1 :]
@@ -66,25 +53,14 @@ def parse_lambda_tags_from_arn(lambda_context):
6653 return tags
6754
6855
69- def get_runtime_tag ():
70- """Get the runtime tag from the current Python version"""
71- major , minor = sys .version_info [0 ], sys .version_info [1 ]
72- return f"runtime:python{ major } .{ minor } "
73-
74-
75- def get_library_version_tag ():
76- """Get datadog lambda library tag"""
77- return f"datadog_lambda:v{ __version__ } "
78-
79-
8056def get_enhanced_metrics_tags (lambda_context ):
8157 """Get the list of tags to apply to enhanced metrics"""
82- return parse_lambda_tags_from_arn (lambda_context ) + [
83- get_cold_start_tag (),
84- f"memorysize:{ lambda_context .memory_limit_in_mb } " ,
85- get_runtime_tag (),
86- get_library_version_tag (),
87- ]
58+ tags = parse_lambda_tags_from_arn (lambda_context )
59+ tags . append ( get_cold_start_tag ())
60+ tags . append ( f"memorysize:{ lambda_context .memory_limit_in_mb } " )
61+ tags . append ( runtime_tag )
62+ tags . append ( library_version_tag )
63+ return tags
8864
8965
9066def check_if_number (alias ):
0 commit comments