Skip to content

Commit 05d37c9

Browse files
author
Mark Kuhn
committed
Revert "add function to strip nonascii and stringify numbers (#84)"
This reverts commit 47bf736.
1 parent 62592c0 commit 05d37c9

File tree

3 files changed

+10
-64
lines changed

3 files changed

+10
-64
lines changed

aws_embedded_metrics/logger/metrics_context.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,30 +58,30 @@ def put_metric(self, key: str, value: float, unit: str = None) -> None:
5858
self.metrics[key] = Metric(value, unit)
5959

6060
@staticmethod
61-
def validate_dimension_set(dimension_set: Dict[str, str]) -> None:
61+
def validate_dimension_set(dimensions: Dict[str, str]) -> None:
6262
"""
6363
Validates dimension set length is not more than MAX_DIMENSION_SET_SIZE
6464
"""
65-
if len(dimension_set) > MAX_DIMENSION_SET_SIZE:
65+
if len(dimensions) > MAX_DIMENSION_SET_SIZE:
6666
raise DimensionSetExceededError(
6767
f"Maximum number of dimensions per dimension set allowed are {MAX_DIMENSION_SET_SIZE}")
6868

69-
def put_dimensions(self, dimension_set: Dict[str, str]) -> None:
69+
def put_dimensions(self, dimensions: Dict[str, str]) -> None:
7070
"""
7171
Adds dimensions to the context.
7272
```
7373
context.put_dimensions({ "k1": "v1", "k2": "v2" })
7474
```
7575
"""
76-
if dimension_set is None:
76+
if dimensions is None:
7777
# TODO add ability to define failure strategy
7878
return
7979

80-
self.validate_dimension_set(dimension_set)
80+
self.validate_dimension_set(dimensions)
8181

82-
self.dimensions.append(dimension_set)
82+
self.dimensions.append(dimensions)
8383

84-
def set_dimensions(self, dimension_sets: List[Dict[str, str]]) -> None:
84+
def set_dimensions(self, dimensionSets: List[Dict[str, str]]) -> None:
8585
"""
8686
Overwrite all dimensions.
8787
```
@@ -92,10 +92,10 @@ def set_dimensions(self, dimension_sets: List[Dict[str, str]]) -> None:
9292
"""
9393
self.should_use_default_dimensions = False
9494

95-
for dimension_set in dimension_sets:
96-
self.validate_dimension_set(dimension_set)
95+
for dimensionSet in dimensionSets:
96+
self.validate_dimension_set(dimensionSet)
9797

98-
self.dimensions = dimension_sets
98+
self.dimensions = dimensionSets
9999

100100
def set_default_dimensions(self, default_dimensions: Dict) -> None:
101101
"""

aws_embedded_metrics/serializers/log_serializer.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,6 @@ def serialize(context: MetricsContext) -> List[str]:
3131
dimensions_properties: Dict[str, str] = {}
3232

3333
for dimension_set in context.get_dimensions():
34-
35-
# Stringify numerical values and strip non-ascii characters from dimension set values
36-
dimension_set = {k: str(v).encode('ascii', 'ignore').decode('ascii') for k, v in dimension_set.items()}
37-
3834
keys = list(dimension_set.keys())
3935
if len(keys) > MAX_DIMENSION_SET_SIZE:
4036
err_msg = (f"Maximum number of dimensions per dimension set allowed are {MAX_DIMENSION_SET_SIZE}. "

tests/serializer/test_log_serializer.py

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -32,56 +32,6 @@ def test_serialize_dimensions():
3232
assert_json_equality(result_json, expected)
3333

3434

35-
def test_serialize_dimensions_with_numeric_value():
36-
# arrange
37-
expected_key = fake.word()
38-
value = fake.random.randrange(0, 100)
39-
expected_value = str(value)
40-
41-
dimension = {}
42-
dimension[expected_key] = value
43-
44-
expected_dimension = {}
45-
expected_dimension[expected_key] = expected_value
46-
47-
expected = {**get_empty_payload(), **expected_dimension}
48-
expected["_aws"]["CloudWatchMetrics"][0]["Dimensions"].append([expected_key])
49-
50-
context = get_context()
51-
context.put_dimensions(dimension)
52-
53-
# act
54-
result_json = serializer.serialize(context)[0]
55-
56-
# assert
57-
assert_json_equality(result_json, expected)
58-
59-
60-
def test_serialize_dimenions_with_non_ascii_values():
61-
# arrange
62-
expected_key = fake.word()
63-
value = "asciié🤔"
64-
expected_value = "ascii"
65-
66-
dimension = {}
67-
dimension[expected_key] = value
68-
69-
expected_dimension = {}
70-
expected_dimension[expected_key] = expected_value
71-
72-
expected = {**get_empty_payload(), **expected_dimension}
73-
expected["_aws"]["CloudWatchMetrics"][0]["Dimensions"].append([expected_key])
74-
75-
context = get_context()
76-
context.put_dimensions(dimension)
77-
78-
# act
79-
result_json = serializer.serialize(context)[0]
80-
81-
# assert
82-
assert_json_equality(result_json, expected)
83-
84-
8535
def test_serialize_properties():
8636
# arrange
8737
expected_key = fake.word()

0 commit comments

Comments
 (0)