Merge "Make function for logstash query encoding"
This commit is contained in:
commit
d487bafc98
@ -15,7 +15,6 @@
|
||||
# under the License.
|
||||
|
||||
import argparse
|
||||
import base64
|
||||
from datetime import datetime
|
||||
import json
|
||||
import os
|
||||
@ -26,7 +25,8 @@ import requests
|
||||
|
||||
import elastic_recheck.elasticRecheck as er
|
||||
from elastic_recheck import log as logging
|
||||
from elastic_recheck import results as er_results
|
||||
import elastic_recheck.query_builder as qb
|
||||
import elastic_recheck.results as er_results
|
||||
|
||||
STEP = 3600000
|
||||
|
||||
@ -124,12 +124,8 @@ def main():
|
||||
continue
|
||||
if args.verbose:
|
||||
LOG.debug("Starting query for bug %s" % query['bug'])
|
||||
urlq = dict(search=query['query'],
|
||||
fields=[],
|
||||
offset=0,
|
||||
timeframe=str(timeframe),
|
||||
graphmode="count")
|
||||
logstash_query = base64.urlsafe_b64encode(json.dumps(urlq))
|
||||
logstash_query = qb.encode_logstash_query(query['query'],
|
||||
timeframe=timeframe)
|
||||
bug_data = get_launchpad_bug(query['bug'])
|
||||
bug = dict(number=query['bug'],
|
||||
query=query['query'],
|
||||
|
@ -15,10 +15,8 @@
|
||||
# under the License.
|
||||
|
||||
import argparse
|
||||
import base64
|
||||
import collections
|
||||
import datetime
|
||||
import json
|
||||
import operator
|
||||
import re
|
||||
|
||||
@ -26,6 +24,7 @@ import dateutil.parser as dp
|
||||
import jinja2
|
||||
|
||||
import elastic_recheck.elasticRecheck as er
|
||||
import elastic_recheck.query_builder as qb
|
||||
import elastic_recheck.results as er_results
|
||||
|
||||
|
||||
@ -124,18 +123,13 @@ def classifying_rate(fails, data, engine, classifier):
|
||||
key=lambda v: v['timestamp'], reverse=True)
|
||||
# Convert timestamp into string
|
||||
for url in bad_job_urls[job]:
|
||||
urlq = {}
|
||||
url['timestamp'] = url['timestamp'].strftime(
|
||||
"%Y-%m-%dT%H:%M")
|
||||
# setup crm114 query for build_uuid
|
||||
query = ('build_uuid: "%s" '
|
||||
'AND error_pr:["-1000.0" TO "-10.0"] '
|
||||
% url['build_uuid'])
|
||||
urlq = dict(search=query,
|
||||
fields=[],
|
||||
offset=0,
|
||||
timeframe=str(864000))
|
||||
logstash_query = base64.urlsafe_b64encode(json.dumps(urlq))
|
||||
logstash_query = qb.encode_logstash_query(query)
|
||||
logstash_url = 'http://logstash.openstack.org/#%s' % logstash_query
|
||||
results = classifier.hits_by_query(query, size=1)
|
||||
if results:
|
||||
|
@ -18,6 +18,9 @@ A set of utility methods to build the kinds of queries that are needed
|
||||
by elastic recheck to talk with elastic search.
|
||||
"""
|
||||
|
||||
import base64
|
||||
import json
|
||||
|
||||
|
||||
def generic(raw_query, facet=None):
|
||||
"""Base query builder
|
||||
@ -118,3 +121,21 @@ def most_recent_event():
|
||||
'AND (build_queue:gate OR build_queue:check) '
|
||||
'AND NOT tags:_grokparsefailure '
|
||||
'AND NOT message:"%{logmessage}" ')
|
||||
|
||||
|
||||
def encode_logstash_query(query, timeframe=864000):
|
||||
"""Utility function for encoding logstash queries.
|
||||
|
||||
This is used when generating url's for links in
|
||||
report pages.
|
||||
|
||||
Input is a string representing the logstash query
|
||||
and an optional timeframe argument.
|
||||
|
||||
"""
|
||||
urlq = dict(search=query,
|
||||
fields=[],
|
||||
offset=0,
|
||||
timeframe=str(timeframe),
|
||||
graphmode="count")
|
||||
return base64.urlsafe_b64encode(json.dumps(urlq))
|
||||
|
Loading…
x
Reference in New Issue
Block a user