(normalized_json_plan)
return format(mmh3.hash64(with_sorted_keys, signed=False)[0], 'x')
Given an already normalized json string query execution plan, generate its 64-bit hex signature.
    TODO: try to push this logic into the agent go code to avoid the two extra json serialization steps here
Given an already normalized json string query execution plan, generate its 64-bit hex signature.
    TODO: try to push this logic into the agent go code to avoid the two extra json serialization steps here
Given an already normalized json string query execution plan generate its 64 - bit hex signature . TODO : try to push this logic into the agent go code to avoid the two extra json serialization steps here
def compute_exec_plan_signature(normalized_json_plan):
    """
    Given an already normalized json string query execution plan, generate its 64-bit hex signature.
    TODO: try to push this logic into the agent go code to avoid the two extra json serialization steps here
    """
    if not normalized_json_plan:
        return None
    with_sorted_keys = json.dumps(json.loads(normalized_json_plan), **sort_keys_kwargs)
    return format(mmh3.hash64(with_sorted_keys, signed=False)[0], 'x')
def compute_exec_plan_signature ( normalized_json_plan ) : if not normalized_json_plan : return None with_sorted_keys = json . dumps ( json . loads ( normalized_json_plan ) , * * sort_keys_kwargs ) return format ( mmh3 . hash64 ( with_sorted_keys , signed = False ) [ 0 ] , 'x' )