package glug.parser.logmessages;
import static java.awt.Color.GREEN;
import static java.lang.Integer.parseInt;
import glug.model.IntervalTypeDescriptor;
import glug.model.SignificantIntervalOccupier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.joda.time.Duration;
/*
2009-01-29 14:17:18,030 [resin-tcp-connection-respub.gutest.gnl:6802-97] INFO com.gu.r2.common.util.http.HttpConnection - Http request for ESA http://gnm.esagroup.co.uk/football/match/1205261 completed in 50 ms
Http request for ESA http://gnm.esagroup.co.uk/football/match/1205261 completed in 50 ms
Http request for DAYLIFE http://daypi.daylife.com/xmlrest/publicapi/4.2/topic_getRelatedArticles completed in 178 ms
Http request for PLUCK http://sitelife.gutest.gnl/ver1.0/Direct/Process completed in 242 ms
Http request for ENDECA_SEARCH_GUI http://browse.gutest.co.uk/education/component completed in 1343 ms
Http request for REUTERS http://ris.rois.com/TPRjIia1148tDU*g4QbwCAfnc3bxoT7RDGD-*62*GNEzs/CTIB/POWERSEARCH3XML?CMD=NameGrouped&SearchName=banco+santader&Precision=including&StartRow=1&FORMAT=XML completed in 5352 ms
*/
public class CompletedHTTPRequestParser {
public static final IntervalTypeDescriptor HTTP_REQUEST = new IntervalTypeDescriptor(GREEN.darker(), "HTTP Request");
private static final Pattern httpRequestPattern = Pattern.compile("Http request for ([^ ]+) ([^ ]+) completed in (\\d+) ms");
public CompletedHTTPRequestParser() {
//super("com.gu.r2.common.util.http.HttpConnection", httpRequestPattern);
}
SignificantIntervalOccupier intervalOccupierFor(Matcher matcher) {
String dbQuery = matcher.group(2);
return HTTP_REQUEST.with(dbQuery);
}
Duration durationFrom(Matcher matcher) {
String durationInMillisText = matcher.group(3);
return new Duration(parseInt(durationInMillisText));
}
}