mirror of
https://github.com/Febbweiss/logstash-forwarder-java.git
synced 2026-03-04 22:25:39 +00:00
Performance improvement (issue #6)
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>logstash-forwarder-java</groupId>
|
<groupId>logstash-forwarder-java</groupId>
|
||||||
<artifactId>logstash-forwarder-java</artifactId>
|
<artifactId>logstash-forwarder-java</artifactId>
|
||||||
<version>0.1.4</version>
|
<version>0.2.0-SNAPSHOT</version>
|
||||||
<name>logstash-forwarder-java</name>
|
<name>logstash-forwarder-java</name>
|
||||||
<description>Java version of logstash forwarder</description>
|
<description>Java version of logstash forwarder</description>
|
||||||
<url>https://github.com/didfet/logstash-forwarder-java</url>
|
<url>https://github.com/didfet/logstash-forwarder-java</url>
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ public class FileReader {
|
|||||||
private int spoolSize = 0;
|
private int spoolSize = 0;
|
||||||
private List<Event> eventList;
|
private List<Event> eventList;
|
||||||
private Map<File,Long> pointerMap;
|
private Map<File,Long> pointerMap;
|
||||||
|
private final int STRINGBUILDER_INITIAL_CAPACITY = 1000;
|
||||||
|
private StringBuilder stringBuilder;
|
||||||
private String hostname;
|
private String hostname;
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -60,6 +62,7 @@ public class FileReader {
|
|||||||
|
|
||||||
public int readFiles(Collection<FileState> fileList) throws AdapterException {
|
public int readFiles(Collection<FileState> fileList) throws AdapterException {
|
||||||
int eventCount = 0;
|
int eventCount = 0;
|
||||||
|
stringBuilder = new StringBuilder(STRINGBUILDER_INITIAL_CAPACITY);
|
||||||
if(logger.isTraceEnabled()) {
|
if(logger.isTraceEnabled()) {
|
||||||
logger.trace("Reading " + fileList.size() + " file(s)");
|
logger.trace("Reading " + fileList.size() + " file(s)");
|
||||||
}
|
}
|
||||||
@@ -141,22 +144,22 @@ public class FileReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String readLine(RandomAccessFile reader) throws IOException {
|
private String readLine(RandomAccessFile reader) throws IOException {
|
||||||
StringBuffer sb = new StringBuffer();
|
stringBuilder.setLength(0);
|
||||||
int ch;
|
int ch;
|
||||||
boolean seenCR = false;
|
boolean seenCR = false;
|
||||||
while((ch=reader.read()) != -1) {
|
while((ch=reader.read()) != -1) {
|
||||||
switch(ch) {
|
switch(ch) {
|
||||||
case '\n':
|
case '\n':
|
||||||
return sb.toString();
|
return stringBuilder.toString();
|
||||||
case '\r':
|
case '\r':
|
||||||
seenCR = true;
|
seenCR = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (seenCR) {
|
if (seenCR) {
|
||||||
sb.append('\r');
|
stringBuilder.append('\r');
|
||||||
seenCR = false;
|
seenCR = false;
|
||||||
}
|
}
|
||||||
sb.append((char)ch); // add character, not its ascii value
|
stringBuilder.append((char)ch); // add character, not its ascii value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user