@@ -89,10 +89,20 @@ def _create_visitor(cls, event, logger):
8989 """
9090
9191 if isinstance (event , user_event .ImpressionEvent ):
92- metadata = payload .Metadata (event .flag_key , event .rule_key , event .rule_type , event .variation .key )
93- decision = payload .Decision (event .experiment .layerId , event .experiment .id , event .variation .id , metadata )
92+ experiment_layerId , experiment_id , variation_id , variation_key = '' , '' , '' , ''
93+
94+ if event .variation :
95+ variation_id = event .variation .id
96+ variation_key = event .variation .key
97+
98+ if event .experiment :
99+ experiment_layerId = event .experiment .layerId
100+ experiment_id = event .experiment .id
101+
102+ metadata = payload .Metadata (event .flag_key , event .rule_key , event .rule_type , variation_key )
103+ decision = payload .Decision (experiment_layerId , experiment_id , variation_id , metadata )
94104 snapshot_event = payload .SnapshotEvent (
95- event . experiment . layerId , event .uuid , cls .ACTIVATE_EVENT_KEY , event .timestamp ,
105+ experiment_layerId , event .uuid , cls .ACTIVATE_EVENT_KEY , event .timestamp ,
96106 )
97107
98108 snapshot = payload .Snapshot ([snapshot_event ], [decision ])
0 commit comments