mirror of
https://github.com/tiennm99/tjahzi.git
synced 2026-10-14 02:16:28 +00:00
Merge pull request #63 from tkowalcz/jdk-http
Small steps toward reducing dependency on Netty in core.
This commit is contained in:
8 files changed
+12
-33
No files matched your search
@@ -2,7 +2,6 @@ package pl.tkowalcz.tjahzi;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.util.internal.StringUtil;
|
||||
import org.agrona.DirectBuffer;
|
||||
import org.agrona.concurrent.AtomicBuffer;
|
||||
import pl.tkowalcz.tjahzi.http.TextBuilders;
|
||||
@@ -22,7 +21,7 @@ public class LogBufferTranscoder {
|
||||
this.staticLabels = staticLabels;
|
||||
this.staticLabelsString = buildLabelsStringIncludingStatic(
|
||||
staticLabels,
|
||||
StringUtil.EMPTY_STRING,
|
||||
"",
|
||||
TextBuilders.threadLocal().append("{ ")
|
||||
).toString();
|
||||
|
||||
|
||||
@@ -39,7 +39,10 @@ class RequestAndResponseHandler extends ChannelDuplexHandler {
|
||||
monitoringModule.incrementHttpResponses();
|
||||
if (msg.status().codeClass() != HttpStatusClass.SUCCESS) {
|
||||
System.out.println(msg.content().toString(Charset.defaultCharset()));
|
||||
monitoringModule.incrementHttpErrors(msg.status(), msg.content());
|
||||
monitoringModule.incrementHttpErrors(
|
||||
msg.status().code(),
|
||||
msg.content().toString(Charset.defaultCharset())
|
||||
);
|
||||
}
|
||||
|
||||
if (!HttpUtil.isKeepAlive(msg)) {
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
package pl.tkowalcz.tjahzi.http;
|
||||
|
||||
import io.netty.util.concurrent.FastThreadLocal;
|
||||
import pl.tkowalcz.tjahzi.utils.TextBuilder;
|
||||
|
||||
public class TextBuilders {
|
||||
|
||||
private static final FastThreadLocal<TextBuilder> THREAD_LOCAL = new FastThreadLocal<TextBuilder>() {
|
||||
|
||||
@Override
|
||||
protected TextBuilder initialValue() {
|
||||
return new TextBuilder();
|
||||
}
|
||||
};
|
||||
private static final ThreadLocal<TextBuilder> THREAD_LOCAL = ThreadLocal.withInitial(TextBuilder::new);
|
||||
|
||||
public static TextBuilder threadLocal() {
|
||||
TextBuilder result = THREAD_LOCAL.get();
|
||||
|
||||
@@ -4,8 +4,6 @@ import com.codahale.metrics.Counter;
|
||||
import com.codahale.metrics.Meter;
|
||||
import com.codahale.metrics.MetricRegistry;
|
||||
import com.codahale.metrics.Timer;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
|
||||
import java.time.Clock;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -101,7 +99,7 @@ public class DropwizardMonitoringModule implements MonitoringModule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementHttpErrors(HttpResponseStatus status, ByteBuf content) {
|
||||
public void incrementHttpErrors(int status, String content) {
|
||||
responseErrors.inc();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
package pl.tkowalcz.tjahzi.stats;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
|
||||
public class EmptyMonitoringModule implements MonitoringModule {
|
||||
|
||||
@Override
|
||||
@@ -46,7 +43,7 @@ public class EmptyMonitoringModule implements MonitoringModule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementHttpErrors(HttpResponseStatus status, ByteBuf responseContent) {
|
||||
public void incrementHttpErrors(int status, String content) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
package pl.tkowalcz.tjahzi.stats;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
|
||||
import java.time.Clock;
|
||||
|
||||
public interface MonitoringModule {
|
||||
@@ -31,7 +28,7 @@ public interface MonitoringModule {
|
||||
|
||||
void incrementHttpResponses();
|
||||
|
||||
void incrementHttpErrors(HttpResponseStatus status, ByteBuf content);
|
||||
void incrementHttpErrors(int status, String content);
|
||||
|
||||
void recordResponseTime(long time);
|
||||
}
|
||||
@@ -1,8 +1,5 @@
|
||||
package pl.tkowalcz.tjahzi.stats;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
|
||||
public class MutableMonitoringModuleWrapper implements MonitoringModule {
|
||||
|
||||
private MonitoringModule monitoringModule;
|
||||
@@ -62,7 +59,7 @@ public class MutableMonitoringModuleWrapper implements MonitoringModule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementHttpErrors(HttpResponseStatus status, ByteBuf content) {
|
||||
public void incrementHttpErrors(int status, String content) {
|
||||
monitoringModule.incrementHttpErrors(status, content);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
package pl.tkowalcz.tjahzi.stats;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.handler.codec.http.HttpResponseStatus;
|
||||
import org.agrona.concurrent.SystemEpochClock;
|
||||
import org.agrona.concurrent.UnsafeBuffer;
|
||||
import org.agrona.concurrent.errors.DistinctErrorLog;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
public class StandardMonitoringModule implements MonitoringModule {
|
||||
@@ -119,12 +116,10 @@ public class StandardMonitoringModule implements MonitoringModule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementHttpErrors(HttpResponseStatus status, ByteBuf content) {
|
||||
public void incrementHttpErrors(int status, String content) {
|
||||
failedHttpRequests.incrementAndGet();
|
||||
distinctErrorLog.record(
|
||||
new RuntimeException(
|
||||
content.toString(Charset.defaultCharset())
|
||||
)
|
||||
new RuntimeException(content)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user