def test__id_datapoint(self):
        """Testing function _id_datapoint."""
        # Initialize key variables
        id_agent = 'id_agent'
        label = 'label'
        index = 'index'
        agent_name = 'agent_name'
        devicename = 'devicename'

        # Test
        result = drain._id_datapoint(id_agent, label, index, agent_name,
                                     devicename)
        self.assertEqual(
            result, '9af342e9f23a5e2ff09d8a799a2b9f5234b'
            'addc31f3c09b309be9dfe6801ee40')
示例#2
0
def _sources(data):
    """Convert data read from cache file to format for ingester.

    args:
        data: Data read from cache file
        base_type: Base type to filter by

    returns:
        data_sources: List of dicts

    """
    # Initialize key variables
    id_agent = data['id_agent']
    agent = data['agent']
    devicename = data['devicename']
    primary_keys = ['timeseries', 'timefixed']
    data_sources = []

    # Retrieve data
    for primary_key in primary_keys:
        # Skip if there are no matching keys
        if primary_key not in data:
            continue

        # Process data
        for label, metadata in data[primary_key].items():
            # Create list of dicts of data
            for data_item in metadata['data']:
                index = data_item[0]
                source = data_item[2]
                data_sources.append({
                    'id_agent':
                    id_agent,
                    'id_datapoint':
                    drain._id_datapoint(id_agent, label, index, agent,
                                        devicename),
                    'agent_label':
                    label,
                    'agent_source':
                    source,
                    'description':
                    metadata['description'],
                    'base_type':
                    metadata['base_type']
                })

    # Return
    return data_sources
示例#3
0
def _expected(data, base_type):
    """Convert data read from cache file to format for ingester.

    args:
        data: Data read from cache file
        base_type: Base type to filter by

    returns:
        expected: List of dicts

    """
    # Initialize key variables
    id_agent = data['id_agent']
    agent = data['agent']
    devicename = data['devicename']
    timestamp = data['timestamp']
    expected = []

    # Get all 32 bit counter values from data
    if base_type is not None:
        primary_key = 'timeseries'
    else:
        primary_key = 'timefixed'

    # Retrieve data
    if primary_key in data:
        for label, metadata in data[primary_key].items():
            # Isolate 32 bit counter data
            if metadata['base_type'] == base_type:
                # Create list of dicts of data
                for data_item in metadata['data']:
                    index = data_item[0]
                    value = data_item[1]
                    expected.append({
                        'id_agent':
                        id_agent,
                        'id_datapoint':
                        drain._id_datapoint(id_agent, label, index, agent,
                                            devicename),
                        'value':
                        value,
                        'timestamp':
                        timestamp
                    })

    # Return
    return expected