def query(self):

        if self._result is not None:
            return self._result

        es = self.get_es()
        trc = TimeRangeClause(begin_time=self.begin_at, end_time=self.end_at)
        rc = RangeClause(
            'backend_status_code',
            min_val=self.status_code_class,
            max_val=self.status_code_class + 100
        )
        body = {
            'filter': {
                'bool': {
                    'filter': [
                        trc.get_clause(),
                        rc.get_clause()
                    ]
                }
            }
        }
        result = es.count(index=self.get_index_name(), body=body)
        logger.info(result)
        self._result = result.get('count', 0)

        return self._result
示例#2
0
    def test_when_min_val_and_max_val(self):

        rc = RangeClause('a_field', min_val=1, max_val=10)
        self.assertEqual(rc.get_clause(),
                         {'range': {
                             'a_field': {
                                 'gte': 1,
                                 'lt': 10
                             }
                         }})
    def test_call(self):

        self.assertEqual(self.sccq.query(), 1)

        trc = TimeRangeClause(begin_time=self.begin_at, end_time=self.end_at)
        rc = RangeClause('backend_status_code', min_val=200, max_val=300)
        self.mock_es.count.assert_called_with(
            index='logstash-2016.01.01',
            body={
                'filter': {
                    'bool': {'filter': [trc.get_clause(), rc.get_clause()]}
                }
            }
        )
    def get_satisfied_request_count(self):

        trc = TimeRangeClause(begin_time=self.begin_at, end_time=self.end_at)
        rc = RangeClause(
            'backend_processing_time', max_val=self.apdex_threshold)
        body = {
            'filter': {
                'bool': {
                    'filter': [trc.get_clause(),
                               rc.get_clause()]
                }
            }
        }
        result = self.get_es().count(index=self.get_index_name(), body=body)
        logger.info('satisifed: %s', result)

        return result.get('count', 0)
示例#5
0
    def test_when_only_max_val(self):

        rc = RangeClause('a_field', max_val=10)
        self.assertEqual(rc.get_clause(), {'range': {'a_field': {'lt': 10}}})
示例#6
0
    def test_when_only_min_val(self):

        rc = RangeClause('a_field', min_val=1)
        self.assertEqual(rc.get_clause(), {'range': {'a_field': {'gte': 1}}})