Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 20:30
    Clivern synchronize #206
  • 20:29
    Clivern synchronize #206
  • 20:29
    Clivern edited #206
  • 19:56
    Clivern synchronize #206
  • 17:34
    Travis openzipkin/zipkin-go (master) still failing (1071)
  • 10:19
    Clivern synchronize #206
  • 10:01
    Clivern synchronize #206
  • 09:50
    Clivern synchronize #206
  • 09:34
    Clivern synchronize #206
  • 08:27
    jcchavezs commented #206
  • Jun 15 22:19
    Clivern synchronize #206
  • Jun 15 22:17
    Clivern synchronize #206
  • Jun 15 22:00
    Clivern synchronize #206
  • Jun 15 20:23
    Clivern synchronize #206
  • Jun 15 16:09
    androna-xm closed #195
  • Jun 15 16:09
    androna-xm commented #195
  • Jun 15 11:58
    jcchavezs commented #195
  • Jun 15 11:46
    basvanbeek commented #195
  • Jun 14 20:15
    ndecapite commented #389
  • Jun 14 18:54
    androna-xm commented #195
Archimedes Trajano
OK probably religious issue here.... which is the recommended one Cassandra or Elasticsearch for the Storage option? After mucking around with ES, it seems that unless it's managed by AWS or you dedicate a whole computer to it. ES is genreally a pain in the arse to work with. Mind you I think Cassandra looks to be a big beast to deal with as well.
1 reply
Archimedes Trajano
I'm looking at https://zipkin.io/pages/architecture.html and I think there may need to be a second sequence diagram that shows two reporting components. From my current implementations (which could be wrong) it appears that each "service" must have access to the Zipkin reporter,
Arun Gopalpuri
How can we trace a call via reverse proxy using zipkin-go? Anyone has an example?
11 replies

Hello folks, we are seeing some fatal error: concurrent map read and map write errors in our main application process and further debugging shows some issue with Zipkin library: github.com/openzipkin/zipkin-go

goroutine 182 [running]:
runtime.throw(0xe75af5, 0x21)
        /usr/local/go/src/runtime/panic.go:774 +0x72 fp=0xc1c015f420 sp=0xc1c015f3f0 pc=0x4313f2
runtime.mapaccess2(0xcf7160, 0xc262f27e30, 0xc19f6391f0, 0xc19f6391f0, 0xc17eac231b)
        /usr/local/go/src/runtime/map.go:470 +0x278 fp=0xc1c015f468 sp=0xc1c015f420 pc=0x40fc58
reflect.mapaccess(0xcf7160, 0xc262f27e30, 0xc19f6391f0, 0xe6a8ed)
        /usr/local/go/src/runtime/map.go:1319 +0x3f fp=0xc1c015f4a0 sp=0xc1c015f468 pc=0x411f6f
reflect.Value.MapIndex(0xcf7160, 0xc1300544d0, 0x195, 0xcbb920, 0xc19f6391f0, 0x98, 0xcbb920, 0xc19f639250, 0x98)
        /usr/local/go/src/reflect/value.go:1176 +0x16d fp=0xc1c015f518 sp=0xc1c015f4a0 pc=0x49771d
. . .
github.com/openzipkin/zipkin-go/reporter.(*JSONSerializer).Serialize(0x164b018, 0xc1951c4480, 0x64, 0x90, 0x0, 0xc0e90ac380, 0x433160, 0xea6f90, 0xc000056a00)
        <autogenerated>:1 +0x72 fp=0xc1c015fe78 sp=0xc1c015fe30 pc=0xb6f892
github.com/openzipkin/zipkin-go/reporter/http.(*httpReporter).sendBatch(0xc0000293b0, 0xc1c015ffaf, 0x1)
        /src/go/pkg/mod/github.com/openzipkin/zipkin-go@v0.2.2/reporter/http/http.go:137 +0xb2 fp=0xc1c015ff90 sp=0xc1c015fe78 pc=0xb8a882
        /src/go/pkg/mod/github.com/openzipkin/zipkin-go@v0.2.2/reporter/http/http.go:99 +0x3f fp=0xc1c015ffd8 sp=0xc1c015ff90 pc=0xb8a49f
        /usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc1c015ffe0 sp=0xc1c015ffd8 pc=0x4615c1
created by github.com/openzipkin/zipkin-go/reporter/http.NewReporter
        /src/go/pkg/mod/github.com/openzipkin/zipkin-go@v0.2.2/reporter/http/http.go:254 +0x2db

This is interesting as it is an error while serializing a Span for the Zipkin client. Upon closer inspection, there is a Tag map in the spans that seems a candidate for the concurrency issue. If the Span is being serialized and a new Tag or something is being added to it concurrently, we may run into an issue.

Does any of you have seen this issue or are aware of it? Any help would be appreciated.


3 replies
Andreas Behr
Hi everyone, I think I am not seeing the obvious solution here. How do I configure how much storage Zipkin is allowed to use. I am using elasticsearch as a backend with the docker-compose files from Zipkin.
5 replies
Fran Pregernik


I wanted to open a possible bug issue but came to ask here first.

I am using Spring Boot, Sleuth and Brave. There is a weird race condition that pops up and we are stumped.

The issue investigation is described here spring-cloud/spring-cloud-sleuth#1814 where Brave throws an exception "Parent can only be null in a local root". In the last message (https://github.com/spring-cloud/spring-cloud-sleuth/issues/1814#issuecomment-767389228) is the "stumped" part. In debug another subsequent call to the same method works fine.

Any help would be much appreciated.

6 replies
Somjit Nag

Is it possible to use custom id as a trace id in zipkin ?


We have around 10 Spring boot microservices, which communicate with each other via kafka. At the start of any flow, a message-id is generated by one of our microservices, and that is propagated to all the others as part of the message transfer. We search for this message-id in our kibana logs to find the error.
So I wanted to understand if Zipkin can work with the message-id that our ecosystem already produces, instead of generating a new one ?
B3 header question here. If I am packing up multiple traces to send to (in this case) datadog, do I just pick a trace to use for the b3 header or use multiple headers or some third thing?
2 replies
Petr Hybler

hello guys, I just have a question ... I have zipkin running together with cassandra as its persistent storage .. the issue I have is that with the external storage I have to recalc dependencies periodically .. it takes a bit over an hour to get that done ....

Is there the same issue with ElasticSearch ??? or is it faster? or do you have any tips how to speed it up??

Hi there, I’m from StreamNative, now working at organizing the Pulsar Virtual Summit NA 2021. I’m trying to get in touch with our Zipkin community and invite as one community partner of Pulsar Summit NA 2021. In the past events, we have lots of successful experiences with different communities. Also, welcome community members to submit talks on Apache Pulsar + Zipkin(https://sessionize.com/pulsar-summit-north-america-2021).
I’m not sure this is the right place to talk about this. So, Looking forward to your reply. Thanks a lot!
1 reply
anyone help me for generating zipkin logs through kafka in c++ application
Hi everyone, I am trying to install zipkin on my server an trying to use Go instrumentation. Is there a step by step guide to help me push the logs ?
4 replies
I am using Zipkin with opentelemetry and now I want to use ElasticSearch as a storage for Zipkin. Can Anyone help me here
Hey, i have question regarding the OpenZipkin-Java (Brave) Tracing.currentTracer().currentSpan() usage. It returns lazy span. However when we try to finish that span using currentSpan().finish() it does not report the duration. Is this inteded ? I thought use the trace context in same thread different methods with currentSpan should work.
Denis Mikhaylov
Hi! We've upgraded to Finagle 21.2.0 and Scala 2.13 and now Finagle can't find HttpZipkinTracer even though it's definitely on the classpath. Any ideas why is this happenning? Thank you!
5 replies
Denis Mikhaylov
Hey folks! Any chance this PR get reviewed? openzipkin/zipkin-finagle#97
Iliadis Victor
Hello guys i need info on brave testing techniques any feedback would be greatly appreciated
Parker Aldric Mar
Hi, I am looking at the limit problem (openzipkin/zipkin#1142) and was wondering if this was solved completely? Thanks!
Hi, everyone , how to understand the time gap between client start and server start ? In some of my traces , the time gap is even bigger than 11 seconds but all of requests are intranet communication . [{"traceId":"607e3e086301ffaf74e217d5983efbc5","parentId":"74e217d5983efbc5","id":"91d3f96d11d7cb8e","kind":"SERVER","name":"get /api/msgcenter/msg/lastest","timestamp":1618886163861028,"duration":3775,"localEndpoint":{"serviceName":"base-msg-center","ipv4":""},"remoteEndpoint":{"ipv4":""},"tags":{"http.method":"GET","http.path":"/api/msgcenter/msg/lastest","mvc.controller.class":"ClientAPIController","mvc.controller.method":"getLastestMsgRecord"},"shared":true},{"traceId":"607e3e086301ffaf74e217d5983efbc5","parentId":"74e217d5983efbc5","id":"91d3f96d11d7cb8e","kind":"CLIENT","name":"get","timestamp":1618886152337857,"duration":11526274,"localEndpoint":{"serviceName":"lingyue-gateway","ipv4":""},"tags":{"http.method":"GET","http.path":"/api/msgcenter/msg/lastest"}},{"traceId":"607e3e086301ffaf74e217d5983efbc5","parentId":"74e217d5983efbc5","id":"864bdbd5a06a0515","kind":"SERVER","name":"get /auth/check","timestamp":1618886152333018,"duration":5224,"localEndpoint":{"serviceName":"dmo-user","ipv4":""},"remoteEndpoint":{"ipv4":"","port":33926},"tags":{"http.method":"GET","http.path":"/auth/check","mvc.controller.class":"AuthController","mvc.controller.method":"checkToken"},"shared":true},{"traceId":"607e3e086301ffaf74e217d5983efbc5","id":"74e217d5983efbc5","localEndpoint":{"serviceName":"lingyue-gateway","ipv4":""},"annotations":[{"timestamp":1618886174659000,"value":"brave.flush"}]},{"traceId":"607e3e086301ffaf74e217d5983efbc5","parentId":"74e217d5983efbc5","id":"864bdbd5a06a0515","kind":"CLIENT","name":"get","timestamp":1618886152331773,"duration":5668,"localEndpoint":{"serviceName":"lingyue-gateway","ipv4":""},"tags":{"http.method":"GET","http.path":"/auth/check"}},{"traceId":"607e3e086301ffaf74e217d5983efbc5","id":"74e217d5983efbc5","kind":"SERVER","name":"get","timestamp":1618886152322007,"duration":11542205,"localEndpoint":{"serviceName":"lingyue-gateway","ipv4":""},"remoteEndpoint":{"ipv4":""},"tags":{"http.method":"GET","http.path":"/base-msg-center/api/msgcenter/msg/lastest"}}]
2 replies
Chandresh Pancholi
Hi, How can i pass additional headers in zipkin-js. We have setup of microservices A --> B --> C. We want to pass header x-user-id from service A to service C. we are using zipkin-js.
4 replies
Arun Gopalpuri
How can we make sure new changes to code isn’t breaking “tracing” by running some E2E tests or something? We keep adding new services or making changes to our architecture and later find that tracing is broken :( Wondering how people have solved this problem?
1 reply

Hi all,I have deployed Jaeger on istio to monitor the bookinfo application. Then I want to analyze the trace data of Jaeger. However, I am confused by some span tags, such as, upstream_cluster and peer address. I found the meaning of peer.address from https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md
, It says that peer.address means remote address. I think it means that when a client start a request and a server receive the request, the client's peer.address will be the server and the server's peer address will be the client.

Here is some information I get from one trace with 8 spans.

             spanID                                      operationName          podIP           serviceName               pid   refType   peer.address span.kind
0  0044bea01e572833  productpage.default.svc.cluster.local:9080/pro...  istio-ingressgateway                         client
1  a2bdd3593ab25d00  productpage.default.svc.cluster.local:9080/pro...   productpage.default  0044bea01e572833  CHILD_OF    server
2  626e09f9758da789           details.default.svc.cluster.local:9080/*   productpage.default  a2bdd3593ab25d00  CHILD_OF    client
3  5a76f143f0e5c301           details.default.svc.cluster.local:9080/*       details.default  626e09f9758da789  CHILD_OF    server
4  9c1aaf91ea5e5ce9           reviews.default.svc.cluster.local:9080/*   productpage.default  a2bdd3593ab25d00  CHILD_OF    client
5  923db83990a9e7e5           reviews.default.svc.cluster.local:9080/*       reviews.default  9c1aaf91ea5e5ce9  CHILD_OF    server
6  8e3dbd4dd0b70f85           ratings.default.svc.cluster.local:9080/*       reviews.default  923db83990a9e7e5  CHILD_OF    client
7  f227decb8d8b2c51           ratings.default.svc.cluster.local:9080/*       ratings.default  8e3dbd4dd0b70f85  CHILD_OF    server

However, the peer.address seems to be it's parent span's pod id, which is different from what I understand, and I don't know which is right.

Besides, I don't understand the meaning of upstream_cluster and downstream_cluster as below. Why all downstream_cluster is None, and what is the meaning of '9080' and 'inbound' in outstream_cluster?

             spanID                                      operationName          podIP  ...                                   upstream_cluster downstream_cluster span.kind
0  0044bea01e572833  productpage.default.svc.cluster.local:9080/pro...  ...  outbound|9080||productpage.default.svc.cluster...                  -    client
1  a2bdd3593ab25d00  productpage.default.svc.cluster.local:9080/pro...  ...                                     inbound|9080||                  -    server
2  626e09f9758da789           details.default.svc.cluster.local:9080/*  ...   outbound|9080||details.default.svc.cluster.local                  -    client
3  5a76f143f0e5c301           details.default.svc.cluster.local:9080/*  ...                                     inbound|9080||                  -    server
4  9c1aaf91ea5e5ce9           reviews.default.svc.cluster.local:9080/*  ...   outbound|9080||reviews.default.svc.cluster.local                  -    client
5  923db83990a9e7e5           reviews.default.svc.cluster.local:9080/*  ...                                     inbound|9080||                  -    server
6  8e3dbd4dd0b70f85           ratings.default.svc.cluster.local:9080/*  ...   outbound|9080||ratings.default.svc.cluster.local                  -    client
7  f227decb8d8b2c51           ratings.default.svc.cluster.local:9080/*  ...                                     inbound|9080||                  -    server
Denis Mikhaylov
Hi @crispywalrus! 2.2.5 didn't make it to Maven Central https://search.maven.org/search?q=a:zipkin-finagle-http_2.13
Chandresh Pancholi
Hi, How can i pass b3-propagation in zipkin-js library with custom header like x-b3-userid?
2 replies
how can I start a source code analysis?
1 reply
Андрей Калинин
hi everybody. i need help in jax-rs2. i see example in source READ.ME, but i cant deploy app with 2 errors:
1.Unsatisfied dependencies for type HttpTracing with qualifiers @Default
at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject brave.jaxrs2.TracingClientFilter(HttpTracing)
2.Unsatisfied dependencies for type ContainerParser with qualifiers @Default
at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject brave.jaxrs2.SpanCustomizingContainerFilter(ContainerParser)
How i must define HttpTracing and ContainerParser beans?
Thank you.
i found link in chat, i will try follow this example.
Pano Ka


At our company we're going to implement Zipkin. However as database we're obliged to use PostgreSQL. Is there any documentation regarding the database component so that we could write our own implementation?

I checked out the Zipkin source code/javadoc and also looked at the Cassandra and ElasticSearch implementations but some kind of documentation would be very helpful.

Maybe other remarks that we should take into account? Or tips to make this implementation easier?

Thanks in advance for the info!


2 replies
Anit Shrestha Manandhar
I have questions on zipkin-dependencies.
  1. I am running dockerized zipkin with mysql as storage. It also runs zipkin-dependencies looking at docker-compose file. To run MySQL, was it necessary to run zipkin-dependencies?
  2. How can I manually call zipkin-dependencies for aggregration purpose while running as a dependency in 1. Or does it runs automatically when a data is sent to zipkin? Or does run as stated end of the day?
1 reply
Hello, I am trying to make POC with zipkin and I need install in a server, my question is How can I get the Hardware requeriments CPU, RAM, storage for the zipkin server?
Thanks in advance
3 replies
Hi I want to use zipkin but not able to find how can I secure or provide username password screen for the zipkin server any references/help is appreciated
1 reply
Hi! I'm relatively new to Zipkin, and I wanted to create a simple protobuf example. I had trouble modifying https://github.com/openzipkin/brave-example to upload spans in the protobuf format.
Golang seemed more protobuf encoder friendly, so I created a small example application along the lines of "brave-example", "zipkin-php-example", & "zipkin-js-example". If anyone is interested or has feedback, the repo is here: https://github.com/smlobo/zipkin-go-example
4 replies
chris vale
Hi, the release build for zipkin-finagle is failing with a permissions error here https://github.com/openzipkin/zipkin-finagle/runs/2452473164 . I don’t have access to anything but the repo (no org secrets etc.) could I get someone with admin powers and secrets access fix the repo please. I’m helping out a contributor and need help.
3 replies
Kevin Kuriakose

I was typing up a question here about how I could include Zipkin as part of my Spring Boot project as a subproject (Gradle) without using EnableZipkinServer, Docker Compose or the self-contained jar since the compose setup has problems with live-reload and cache sharing, while the self contained jar would've been available with Gradle ideally to avoid unnecessary binaries in the repo. I soon answered my own question after thinking it through, so I wanna document it for archival's sake even if it may be almost obvious to someone more experienced:

Treat Zipkin as an external service, and use Docker Compose to describe your external services. This also includes things like databases, messaging servers and cache servers. Use Docker Compose to ready the infrastructure and let your build tool manage your code outside Docker instead. No custom binaries for your external dependencies, no manual cache management, and as an added bonus, single command infrastructure.

I sure would've loved to grok this earlier so I didn't have to spend so many days trying different options. Ah well, sometimes you learn the hard way xD

jatin gupta
Hey all,
I am using zipkin to trace my http calls ( express nodejs ) and struggling to trace the database requests ( mongoose and sequelize ). Is there any solution available for databases in zipkin-js ??
hi,all,How to speed up the query traces to 1s in the case of 12T data?
Christian Kosmowski
Hi! I tried zipkin today and provided several microservices with tracing. It basically works, ziupkin displays spans from each microservice, but they are completely distinct. Zipkin does not make a connection between services. I'm sure i am missing any configuration on how zipkin is able to connect the services.
1 reply
Arun Gopalpuri
What should one annotate on span? Whats the difference between tags and annotate? Any link to documentation to help me understand? Thanks!
3 replies
Hi everybody, just joined!
I have a question, let's say I have an API and I want to trace all the incomming request and all the internal functions that the API processes, for example I recive a request to an endpoint '/do_foo/' and it calls he function 'do_bar', I would like to have a span in there and I do not manage to make it even using the python decorator @zipkin_span with the same service_name in the function 'do_bar', is it even possible to track internal calls inside a zipkin trace?
1 reply
José Carlos Chávez
This message was deleted
Suhaib Ahmed

Hello everybody, just joined. I was trying to use Zipkin for a few days in my Ruby on Rails app and I am using::Logger::Formatter.new as the formatter. How do I print the trace id, span id etc in the application logs ?

In my Java App it automatically comes as "[vmsservice,c6b162b6763740b6,93228fedf49d17c2,true]" as part of the log.

Андрей Калинин
Hi. Is there the “best practice” for “online” switch (without restarting traced module) “on/off” tracing?
4 replies
Halil Onur Çeçen
Hi all, I was wondering if it is possible to index tags field with elasticsearch storage. Anyone tried something similar? I'm trying to aggregate tags.http.path field using kibana.
3 replies
hi all, why zipkin server always fgc,and old region 100%
cpu is very high too