99from splitio .models .events import Event
1010from splitio .storage .adapters .uwsgi_cache import _SPLITIO_CHANGE_NUMBERS , \
1111 _SPLITIO_EVENTS_CACHE_NAMESPACE , _SPLITIO_IMPRESSIONS_CACHE_NAMESPACE , \
12- _SPLITIO_METRICS_CACHE_NAMESPACE , _SPLITIO_MISC_NAMESPACE , UWSGILock , \
12+ _SPLITIO_METRICS_CACHE_NAMESPACE , _SPLITIO_MISC_NAMESPACE , UWSGILock , \
1313 _SPLITIO_SEGMENTS_CACHE_NAMESPACE , _SPLITIO_SPLITS_CACHE_NAMESPACE , \
1414 _SPLITIO_LOCK_CACHE_NAMESPACE
1515
@@ -113,7 +113,7 @@ def remove(self, split_name):
113113 self ._KEY_TEMPLATE .format (suffix = split_name ),
114114 _SPLITIO_SPLITS_CACHE_NAMESPACE
115115 )
116- if not result is False :
116+ if result is not False :
117117 self ._logger .warning ("Trying to retrieve nonexistant split %s. Ignoring." , split_name )
118118 return result
119119
@@ -149,8 +149,8 @@ def get_split_names(self):
149149 return json .loads (
150150 self ._uwsgi .cache_get (self ._KEY_FEATURE_LIST , _SPLITIO_MISC_NAMESPACE )
151151 )
152- except TypeError : # Thrown by json.loads when passing none
153- pass # Fall back to default return statement (empty list)
152+ except TypeError : # Thrown by json.loads when passing none
153+ pass # Fall back to default return statement (empty list)
154154 return []
155155
156156 def get_all_splits (self ):
@@ -251,7 +251,6 @@ def put(self, segment):
251251 )
252252 self .set_change_number (segment .name , segment .change_number )
253253
254-
255254 def get_change_number (self , segment_name ):
256255 """
257256 Retrieve latest change number for a segment.
@@ -424,7 +423,7 @@ def put(self, events):
424423 current = []
425424 self ._uwsgi .cache_update (
426425 self ._EVENTS_KEY ,
427- json .dumps (current + [e ._asdict () for e in events ]),
426+ json .dumps (current + [e .event . _asdict () for e in events ]),
428427 0 ,
429428 _SPLITIO_EVENTS_CACHE_NAMESPACE
430429 )
@@ -457,8 +456,17 @@ def pop_many(self, count):
457456 event ['traffic_type_name' ],
458457 event ['event_type_id' ],
459458 event ['value' ],
460- event ['timestamp' ]
461- ) for event in current [:count ]
459+ event ['timestamp' ],
460+ event ['properties' ]
461+ ) if 'properties' in event else
462+ Event (
463+ event ['key' ],
464+ event ['traffic_type_name' ],
465+ event ['event_type_id' ],
466+ event ['value' ],
467+ event ['timestamp' ],
468+ )
469+ for event in current [:count ]
462470 ]
463471
464472 def request_flush (self ):
@@ -501,7 +509,6 @@ def __init__(self, uwsgi_entrypoint):
501509 self ._uwsgi = uwsgi_entrypoint
502510 self ._logger = logging .getLogger (self .__class__ .__name__ )
503511
504-
505512 def inc_latency (self , name , bucket ):
506513 """
507514 Add a latency.
@@ -516,7 +523,8 @@ def inc_latency(self, name, bucket):
516523 return
517524
518525 with UWSGILock (self ._uwsgi , self ._LATENCIES_LOCK_KEY ):
519- latencies_raw = self ._uwsgi .cache_get (self ._LATENCIES_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
526+ latencies_raw = self ._uwsgi .cache_get (
527+ self ._LATENCIES_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
520528 latencies = json .loads (latencies_raw ) if latencies_raw else {}
521529 to_update = latencies .get (name , [0 ] * 22 )
522530 to_update [bucket ] += 1
@@ -536,7 +544,8 @@ def inc_counter(self, name):
536544 :type name: str
537545 """
538546 with UWSGILock (self ._uwsgi , self ._COUNTERS_LOCK_KEY ):
539- counters_raw = self ._uwsgi .cache_get (self ._COUNTERS_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
547+ counters_raw = self ._uwsgi .cache_get (
548+ self ._COUNTERS_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
540549 counters = json .loads (counters_raw ) if counters_raw else {}
541550 value = counters .get (name , 0 )
542551 value += 1
@@ -575,7 +584,8 @@ def pop_counters(self):
575584 :rtype: list
576585 """
577586 with UWSGILock (self ._uwsgi , self ._COUNTERS_LOCK_KEY ):
578- counters_raw = self ._uwsgi .cache_get (self ._COUNTERS_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
587+ counters_raw = self ._uwsgi .cache_get (
588+ self ._COUNTERS_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
579589 self ._uwsgi .cache_del (self ._COUNTERS_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
580590 return json .loads (counters_raw ) if counters_raw else {}
581591
@@ -598,6 +608,7 @@ def pop_latencies(self):
598608 :rtype: list
599609 """
600610 with UWSGILock (self ._uwsgi , self ._LATENCIES_LOCK_KEY ):
601- latencies_raw = self ._uwsgi .cache_get (self ._LATENCIES_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
611+ latencies_raw = self ._uwsgi .cache_get (
612+ self ._LATENCIES_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
602613 self ._uwsgi .cache_del (self ._LATENCIES_KEY , _SPLITIO_METRICS_CACHE_NAMESPACE )
603614 return json .loads (latencies_raw ) if latencies_raw else {}
0 commit comments