All Projects → openzipkin-contrib → Zipkin Armeria Example

openzipkin-contrib / Zipkin Armeria Example

Licence: apache-2.0
Example project that shows how to use armeria and zipkin together

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Zipkin Armeria Example

opentracing-istio-troubleshooting
Tackle the challenge of observability in a Kubernetes application that consists of multiple microservices running in the Open Liberty application server.
Stars: ✭ 16 (-5.88%)
Mutual labels:  zipkin, distributed-tracing
dropwizard-zipkin
Dropwizard Zipkin Bundle
Stars: ✭ 48 (+182.35%)
Mutual labels:  zipkin, distributed-tracing
haystack-docker
Repository with docker-compose files to start Haystack components in sandbox
Stars: ✭ 17 (+0%)
Mutual labels:  zipkin, distributed-tracing
Grpc By Example Java
A collection of useful/essential gRPC Java Examples
Stars: ✭ 709 (+4070.59%)
Mutual labels:  distributed-tracing, zipkin
Zipkin Go
Zipkin tracer library for go
Stars: ✭ 435 (+2458.82%)
Mutual labels:  distributed-tracing, zipkin
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (+1364.71%)
Mutual labels:  distributed-tracing, zipkin
Opencensus Java
A stats collection and distributed tracing framework
Stars: ✭ 640 (+3664.71%)
Mutual labels:  distributed-tracing, zipkin
Brave
Java distributed tracing implementation compatible with Zipkin backend services.
Stars: ✭ 2,117 (+12352.94%)
Mutual labels:  distributed-tracing, zipkin
pitchfork
Convert tracing data between Zipkin and Haystack formats
Stars: ✭ 40 (+135.29%)
Mutual labels:  zipkin, distributed-tracing
gateway
A proxy to buffer and forward metrics, events, and traces.
Stars: ✭ 94 (+452.94%)
Mutual labels:  zipkin, distributed-tracing
Zipkin
Zipkin is a distributed tracing system
Stars: ✭ 14,969 (+87952.94%)
Mutual labels:  distributed-tracing, zipkin
Zipkin Js
Zipkin instrumentation for Node.js and browsers
Stars: ✭ 489 (+2776.47%)
Mutual labels:  distributed-tracing, zipkin
Zipkin Php
Zipkin instrumentation for PHP
Stars: ✭ 190 (+1017.65%)
Mutual labels:  distributed-tracing, zipkin
eagle
Eagle分布式rpc调用,借助Zookeeper实现服务注册和发现,基于AQS实现高性能连接池,支持分布式追踪、监控、过载保护等配置。提供Spring和SpringBoot插件,方便与Spring和SpringBoot集成。
Stars: ✭ 77 (+352.94%)
Mutual labels:  netty, distributed-tracing
Jaeger Php
Jaeger Bindings for PHP OpenTracing API
Stars: ✭ 185 (+988.24%)
Mutual labels:  distributed-tracing, zipkin
zipkin-php-example
See how much time php services spend on an http request
Stars: ✭ 52 (+205.88%)
Mutual labels:  zipkin, distributed-tracing
Aiozipkin
Distributed tracing instrumentation for asyncio with zipkin
Stars: ✭ 161 (+847.06%)
Mutual labels:  distributed-tracing, zipkin
Brave Example
A collection of examples how to use brave instrumentation in various frameworks and libraries.
Stars: ✭ 163 (+858.82%)
Mutual labels:  distributed-tracing, zipkin
easeagent
An agent component for the Java system
Stars: ✭ 437 (+2470.59%)
Mutual labels:  zipkin, distributed-tracing
Zipkin Go Opentracing
OpenTracing Bridge for Zipkin Go
Stars: ✭ 472 (+2676.47%)
Mutual labels:  distributed-tracing, zipkin

Basic example showing distributed tracing across Armeria apps

This is an example app where two Armeria (Java) services collaborate on an http request. Notably, timing of these requests are recorded into Zipkin, a distributed tracing system. This allows you to see the how long the whole operation took, as well how much time was spent in each service.

Here's an example of what it looks like zipkin screen shot

Implementation Overview

Web requests are served by Armeria services, which trace requests by using the Zipkin plugin.

These traces are sent out of process over http to Zipkin.

This example intentionally avoids advanced topics like async and load balancing, eventhough Armeria supports them.

Running the example

This example has two services: frontend and backend. They both report trace data to zipkin. To setup the demo, you need to start Frontend, Backend and Zipkin.

Once the services are started, open http://localhost:8081/

Next, you can view traces that went through the backend via http://localhost:9411/?serviceName=backend

  • This is a locally run zipkin service which keeps traces in memory

Starting the Services

In a separate tab or window, start each of armeria.Frontend and armeria.Backend:

$ ./mvnw compile exec:java -Dexec.mainClass=armeria.Frontend
$ ./mvnw compile exec:java -Dexec.mainClass=armeria.Backend

Next, run Zipkin, which stores and queries traces reported by the above services.

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].