Skip to content

Bug: publishing a metric with 9 dimensions doesn't work #1239

Closed
@dnlopes

Description

@dnlopes

Expected Behaviour

Publishing a CW metric with 9 dimensions should work without problems.

Current Behaviour

When trying to publish a CW metric with 9 dimensions of my own, it seems the metrics never reach CloudWatch, although I can't see errors anywhere.

Code snippet

with single_metric(
    name="MyMetricName",
    unit=MetricUnit.Percent,
    value=percentage,
    namespace=os.environ["POWERTOOLS_METRICS_NAMESPACE"],
) as metric:
    metric.add_dimension(name="pool_id", value=metrics.uuid)
    metric.add_dimension(name="pool_name", value=metrics.name)
    metric.add_dimension(name="pool_min_size", value=metrics.min_size)
    metric.add_dimension(name="pool_curr_size", value=metrics.curr_size)
    metric.add_dimension(name="pool_real_size", value=metrics.real_curr_size)
    metric.add_dimension(name="pool_decommissioning_counter", value=metrics.decommissioning_counter)
    metric.add_dimension(name="pool_ready_counter", value=metrics.ready_counter)
    metric.add_dimension(name="pool_creating_counter", value=metrics.creating_counter)

    return metric

Possible Solution

No response

Steps to Reproduce

  • Try to publish a CW metric with 9 dimensions
  • let powertools add the service dimension on its own
  • no metrics are published

AWS Lambda Powertools for Python version

1.20.2

AWS Lambda function runtime

3.8

Packaging format used

PyPi

Debugging logs

####################### LAMBDA LOG ENTRY WITH LESS THAN 9 DIMENSIONS ####################
{
    "_aws": {
        "Timestamp": 1654210920980,
        "CloudWatchMetrics": [
            {
                "Namespace": "phoenix-orchestration",
                "Dimensions": [
                    [
                        "service_name",
                        "pool_id",
                        "pool_name",
                        "pool_curr_size",
                        "pool_min_size",
                        "pool_real_size",
                        "service"
                    ]
                ],
                "Metrics": [
                    {
                        "Name": "SlotAvailability",
                        "Unit": "Percent"
                    }
                ]
            }
        ]
    },
    "service_name": "tenant-pool",
    "pool_id": "c481bab7-ac0c-45d2-bbcc-e5cab7f61156",
    "pool_name": "Test Pool",
    "pool_curr_size": "11",
    "pool_min_size": "11",
    "pool_real_size": "11",
    "service": "tenant-pool",
    "SlotAvailability": [
        100
    ]
}

####################### LAMBDA LOG ENTRY WITH 9 DIMENSIONS ####################
{
    "_aws": {
        "Timestamp": 1654523221124,
        "CloudWatchMetrics": [
            {
                "Namespace": "phoenix-orchestration",
                "Dimensions": [
                    [
                        "pool_id",
                        "pool_name",
                        "pool_min_size",
                        "pool_curr_size",
                        "pool_real_size",
                        "pool_decommissioning_counter",
                        "pool_ready_counter",
                        "pool_creating_counter",
                        "service"
                    ]
                ],
                "Metrics": [
                    {
                        "Name": "SlotAvailability",
                        "Unit": "Percent"
                    }
                ]
            }
        ]
    },
    "pool_id": "f1316488-6aa6-464f-be78-13902b20ec33",
    "pool_name": "Prospects (Ireland) v2",
    "pool_min_size": "0",
    "pool_curr_size": "0",
    "pool_real_size": "0",
    "pool_decommissioning_counter": "0",
    "pool_ready_counter": "0",
    "pool_creating_counter": "0",
    "service": "tenant-pool",
    "SlotAvailability": [
        100
    ]
}

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions