<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

Under utils/common.py, 

TIMESTAMP_FORMAT_MILLIS = '%Y-%m-%dT%H:%M:%S.%fZ'

The %f produces time with microseconds, for example: 2020-03-18T19:43:18.115783Z.


However, when interacting the AWS s3 and sns apis, I receive DateTimes like this:

2020-03-02T22:32:13.240Z
i.e. milliseconds. 

This seems like a simple change to the utils. TIMESTAMP_FORMAT_MILLIS is named as if it should be millis as well. This is seems like a simple change. Is there a reason it should be microseconds?
return timestamp(time=time, format=TIMESTAMP_FORMAT_MILLIS)
def retry(function, retries=3, sleep=1, sleep_before=0, **kwargs):
    raise_error = None
    if sleep_before > 0:
        time.sleep(sleep_before)
    for i in range(0, retries + 1):
        try:
            return function(**kwargs)
        except Exception as error:
            raise_error = error
            time.sleep(sleep)
    raise raise_error
def dump_thread_info():
    for t in threading.enumerate():
        print(t)
    print(run("ps aux | grep 'node\\|java\\|python'"))
def merge_recursive(source, destination, none_values=[None]):
    for key, value in source.items():
        if isinstance(value, dict):
            
            node = destination.setdefault(key, {})
            merge_recursive(value, node)
        else:
            if not isinstance(destination, dict):
                LOG.warning('Destination for merging %s=%s is not dict: %s' %
                    (key, value, destination))
            if destination.get(key) in none_values:
                destination[key] = value
    return destination
def merge_dicts(*dicts, **kwargs):