Metrics¶
Metrics collection utilities for Lambda handlers.
Metrics utilities for AWS Lambda handlers.
Provides utilities for collecting and publishing CloudWatch metrics using AWS Lambda Powertools.
EnhancedMetrics ¶
Bases: Metrics
Extended Metrics class with convenience methods.
Provides additional helper methods for common metric patterns like counting, duration tracking, and success/failure recording.
add_count_metric ¶
add_count_metric(name, value)
Add a count metric.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
The metric name. |
required |
value
|
float
|
The count value. |
required |
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
86 87 88 89 90 91 92 93 | |
add_duration_metric ¶
add_duration_metric(start=None, end=None, name='')
Add a duration metric.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start
|
Optional[datetime]
|
The start timestamp. Defaults to module load time. |
None
|
end
|
Optional[datetime]
|
The end timestamp. Defaults to current time. |
None
|
name
|
str
|
Prefix for the metric name. |
''
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
95 96 97 98 99 100 101 102 103 104 105 | |
add_failure_metric ¶
add_failure_metric(name='')
Record a failed operation metric.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Prefix for the metric names. |
''
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
115 116 117 118 119 120 121 | |
add_success_metric ¶
add_success_metric(name='')
Record a successful operation metric.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Prefix for the metric names. |
''
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
107 108 109 110 111 112 113 | |
MetricsMixins ¶
Bases: HandlerMixins
Mixin class providing CloudWatch metrics capabilities.
Integrates AWS Lambda Powertools Metrics for automatic metric collection and publishing to CloudWatch.
metrics
property
writable
¶
metrics
Get the metrics collector, creating one if needed.
Returns:
| Type | Description |
|---|---|
EnhancedMetrics
|
The EnhancedMetrics instance for this handler. |
add_metric
classmethod
¶
add_metric(metrics, name, value, unit=MetricUnit.Count)
Add a metric to the collector.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
metrics
|
Metrics
|
The metrics collector. |
required |
name
|
str
|
The metric name. |
required |
value
|
float
|
The metric value. |
required |
unit
|
MetricUnit
|
The metric unit. Defaults to Count. |
Count
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | |
get_metrics
classmethod
¶
get_metrics(
service=None, namespace=None, **additional_dimensions
)
Create a new EnhancedMetrics instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
service
|
Optional[str]
|
The service name for metrics. |
None
|
namespace
|
Optional[str]
|
The CloudWatch namespace. |
None
|
**additional_dimensions
|
str
|
Additional metric dimensions as key-value pairs. |
{}
|
Returns:
| Type | Description |
|---|---|
EnhancedMetrics
|
A configured EnhancedMetrics instance. |
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | |
add_duration_metric ¶
add_duration_metric(
start=None, end=None, name="", metrics=None
)
Add a duration metric to the metrics collector.
Calculates the duration between start and end times and records it as a CloudWatch metric in milliseconds.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start
|
Optional[datetime]
|
The start timestamp. Defaults to module load time. |
None
|
end
|
Optional[datetime]
|
The end timestamp. Defaults to current time. |
None
|
name
|
str
|
Prefix for the metric name. Final name is '{name}Duration'. |
''
|
metrics
|
Optional[Union[EphemeralMetrics, Metrics]]
|
The metrics collector to use. Creates ephemeral if None. |
None
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
add_failure_metric ¶
add_failure_metric(name='', metrics=None)
Record a failed operation metric.
Adds metrics indicating success (0) and failure (1) counts.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Prefix for the metric names. |
''
|
metrics
|
Optional[Union[EphemeralMetrics, Metrics]]
|
The metrics collector to use. Creates ephemeral if None. |
None
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |
add_success_metric ¶
add_success_metric(name='', metrics=None)
Record a successful operation metric.
Adds metrics indicating success (1) and failure (0) counts.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Prefix for the metric names. |
''
|
metrics
|
Optional[Union[EphemeralMetrics, Metrics]]
|
The metrics collector to use. Creates ephemeral if None. |
None
|
Source code in src/aibs_informatics_aws_lambda/common/metrics.py
47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |