Releases: line/armeria
Releases · line/armeria
armeria-0.14.0.Final
armeria-0.13.4.Final
armeria-0.13.3.Final
Bug fixes
- #138 Fix delayed notification of session creation failure and log GOAWAY frames
armeria-0.13.2.Final
armeria-0.13.1.Final
armeria-0.13.0.Final
armeria-0.12.2.Final
Bug fixes
- #130 Fix NPE while recording tracing annotations
armeria-0.12.1.Final
Bug Fixes
- #127 Propagate all non-null ServerSpans (Zipkin integration)
armeria-0.12.0.Final
New features
- #122 Make
EventLoop
available toRemoteInvoker.invoke()
- NB: This is a breaking change due to the signature change of
RemoteInvoker.invoke()
. You won't notice this at all if you did not implementRemoteInvoker
by yourself to write a decorator.
- NB: This is a breaking change due to the signature change of
- #125 Allow registering callbacks when propagating a
ServiceInvocationContext
- You can add callbacks to a
ServiceInvocationContext
viaonEnter(Runnable)
andonExit(Runnable)
.
- You can add callbacks to a
armeria-0.11.0.Final
New features
- #114 Distributed tracing via Zipkin/Brave
This release introduces distributed tracing capability to Armeria clients and servers using Brave, a distributed tracing library compatible with Zipkin. This enables us to watch timing data among the whole Armeria RPC chain.
Decorating a client
// Create a brave instance with service name, span collector, and sampling rate.
Brave brave = new Brave.Builder("MyClientMain")
.spanCollector(new ScribeSpanCollector("127.0.0.1", 9410))
.traceSampler(Sampler.create(0.01f))
.build();
MyService.Iface client =
new ClientBuilder("tbinary+http://127.0.0.1:8080/thrift/myService")
.decorator(HttpTracingClient.newDecorator(brave))
.build(MyService.Iface.class);
Decorating a server
// Create a brave instance with service name, span collector, and sampling rate.
Brave brave = new Brave.Builder("MyServiceMain")
.spanCollector(new ScribeSpanCollector("127.0.0.1", 9410))
.traceSampler(Sampler.create(0.01f))
.build();
ServerBuilder builder = new ServerBuilder();
builder.port(8080, SessionProtocol.HTTP);
builder.serviceAt("/thrift/myservice",
ThriftService.of(new MyServiceHandler(brave))
.decorate(HttpTracingService.newDecorator(brave));