def get_trace_summaries(StartTime=None, EndTime=None, Sampling=None,
    FilterExpression=None, NextToken=None):
    """
    Retrieves IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces .
    See also: AWS API Documentation
    
    
    :example: response = client.get_trace_summaries(
        StartTime=datetime(2015, 1, 1),
        EndTime=datetime(2015, 1, 1),
        Sampling=True|False,
        FilterExpression='string',
        NextToken='string'
    )
    
    
    :type StartTime: datetime
    :param StartTime: [REQUIRED]
            The start of the time frame for which to retrieve traces.
            

    :type EndTime: datetime
    :param EndTime: [REQUIRED]
            The end of the time frame for which to retrieve traces.
            

    :type Sampling: boolean
    :param Sampling: Set to true to get summaries for only a subset of available traces.

    :type FilterExpression: string
    :param FilterExpression: Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.

    :type NextToken: string
    :param NextToken: Specify the pagination token returned by a previous request to retrieve the next page of results.

    :rtype: dict
    :return: {
        'TraceSummaries': [
            {
                'Id': 'string',
                'Duration': 123.0,
                'ResponseTime': 123.0,
                'HasFault': True|False,
                'HasError': True|False,
                'HasThrottle': True|False,
                'IsPartial': True|False,
                'Http': {
                    'HttpURL': 'string',
                    'HttpStatus': 123,
                    'HttpMethod': 'string',
                    'UserAgent': 'string',
                    'ClientIp': 'string'
                },
                'Annotations': {
                    'string': [
                        {
                            'AnnotationValue': {
                                'NumberValue': 123.0,
                                'BooleanValue': True|False,
                                'StringValue': 'string'
                            },
                            'ServiceIds': [
                                {
                                    'Name': 'string',
                                    'Names': [
                                        'string',
                                    ],
                                    'AccountId': 'string',
                                    'Type': 'string'
                                },
                            ]
                        },
                    ]
                },
                'Users': [
                    {
                        'UserName': 'string',
                        'ServiceIds': [
                            {
                                'Name': 'string',
                                'Names': [
                                    'string',
                                ],
                                'AccountId': 'string',
                                'Type': 'string'
                            },
                        ]
                    },
                ],
                'ServiceIds': [
                    {
                        'Name': 'string',
                        'Names': [
                            'string',
                        ],
                        'AccountId': 'string',
                        'Type': 'string'
                    },
                ]
            },
        ],
        'ApproximateTime': datetime(2015, 1, 1),
        'TracesProcessedCount': 123,
        'NextToken': 'string'
    }
    
    
    :returns: 
    (dict) --
    Name (string) --
    Names (list) --
    (string) --
    
    
    AccountId (string) --
    Type (string) --
    
    
    
    """
    pass
