Hey guys, Sorry for the delay. I somehow read the replies but forgot to reply :)
I think the target of Infispector and Zipkin based tracing would be different, although there is some common ground. I think both Infispector and Zipkin would be helpful in helping diagnose cluster performance issues and get a general overview of how messages pass from one node to the other. In terms of difference Infispector seems more geared towards education/qe whereas Zipkin is more targeted as something we can run at runtime in production for our users. Although both projects have different targets I think we'll be able to take advantage of each others work, e.g. custom JGroups protocols points, byteman/bytebuddy rules for intercept scenarions...etc. Great work leading all the Infispector work Tomas, looking forward to demos/videos :D Cheers, -- Galder Zamarreño Infinispan, Red Hat > On 10 May 2016, at 15:53, Radim Vansa <rva...@redhat.com> wrote: > > To complement this, MFT is a tool that won't offer any sleek charts or > visualisations. It's tricky to use and understand - it's intended for > developers as a tool for problem analysis. But it gets more in depth > than InfiSpector, linking the information from different nodes, JFR > events and so forth. > > R. > > On 05/10/2016 09:41 AM, Tomas Sykora wrote: >> Hello Galder, and all! >> It’s nice to communicate again via infinispan-dev after a while :) >> >> TL;DR: I can see some intersections with zipkin.io initiative goals but >> InfiSpector seems to be much more “easier to handle and contribute to at >> this moment” -- that suits more our student-related use case. Let’s continue >> with the discussion :) >> >> Firstly, a short introduction into the context. Red Hat is running Research >> & Development laboratory here in Brno at 2 biggest local universities: >> Masaryk University, Faculty of Informatics (FI MU) and Brno University of >> Technology, Faculty of Information Technologies (FIT VUT). >> The aim is to better and sooner reach out to students, get them involved >> into interesting project, show them open-source, git, git workflows and many >> other things (project specific). An year ago I got excited about this idea >> and started to think whether I can deliver such a project. And I did. >> >> Team faces one big challenge and this is a time constraint. Students are >> working on _several_ projects during their studies to fulfill courses’ >> requirements to pass the semester. It’s hard for them to find additional >> time to be coding even something else. Team managed that but slowly, that’s >> understandable though. Designing InfiSpector infrastructure took us some >> time (Kafka, Druid, NodeJS) + evaluation of these technologies + proof of >> concepts. >> >> All 5 team members are 2nd year students of bachelor studies at FIT VUT Brno. >> Marek Ciz (https://github.com/mciz), also my very good friend from my home >> town :) His primary domain is Druid, Kafka and infrastructure. >> Vratislav Hais (https://github.com/vratislavhais) Primary domain is >> front-end. >> Jan Fitz (https://github.com/janfitz) Primary domain is front-end and >> graphic design (also designed our logo). >> Tomas Veskrna -- starting >> Patrik Cigas -- starting >> >> At this moment we are very close to getting real data to be monitored via >> web UI. It’s a matter of 1-2 months considering there is an examination >> period happening now at the University. >> >> ******************* >> What is InfiSpector and what we want to achieve: >> >> * We missed graphical representation of Infinispan nodes communication so we >> want >> -- To be able to spot possible issues AT THE FIRST LOOK (e.g. wait, this >> should be coordinator, how is that possible he sends/receives only 10 % of >> all messages?) >> -- To demonstrate nicely what’s happening inside of ISPN cluster for >> newcomers (to see how Infinispan nodes talk to each other to better >> understand concepts) >> -- To be using nice communication diagrams that describes flows like (130 >> messages from node1 to node5 -- click to see them in detail, filter out in >> more detail) >> * We aimed for NON-invasive solution >> -- No changes in Infinispan internal code >> -- Just add custom JGroups protocol, gather data and send them where you >> want [0] >> * Provide historical recording of JGroups communication >> * Help to analyze communication recording from big data point of view >> -- No need to manually go through gigabytes of text trace logs >> >> Simplified InfiSpector architecture: >> >> Infinispan Cluster (JGroups with our protocol) ---> Apache Kafka ---> Druid >> Database (using Kafka Firehose to inject Kafka Topic) <---> NodeJS server >> back-end <---> front-end (AngularJS) >> >> What is coming out from custom JGroup protocol is a short JSON document [1] >> with a timestamp, sending and receiving node, length of a message and the >> message itself. Other stuff can be added easily. >> >> We will be able to easily answer queries like: >> How many messages were sent from node1 to node3 during “last” 60 seconds? >> What are these messages? >> How many of them were PutKeyValueCommands? >> Filter out Heart beats (or even ignore them completely), etc. >> >> We don’t have any video recording yet but we are very close to that point. >> From UI perspective we will be using these 2 charts: [2], [3]. >> >> >> Talking about Infinispan 9 plans -- [4] was reported a month ago by you >> Galder and we are working on InfiSpector actively let’s say 5 months -- it >> looks like I should have advertised InfiSpector more, sooner, but I was >> waiting for at least first working demo to start with blogging and videos :) >> It’s good that you’ve noticed and that we are having this conversation right >> now. >> >> To be honest I find http://zipkin.io/ initiative to be quite similar. >> However, InfiSpector seems to be much more “easier” and not targeting at >> performance analysis directly. Just adding one protocol at protocol stack >> and you are good to go. We were thinking about putting Kafka and Druid >> somewhere into the cloud (later) so users don’t need to start all that big >> infrastructure at their local machines. >> >> I am very open to anything that will help us as a community to achieve our >> common goal -- to be able to graphically monitor Infinispan communication. >> Additionally I would be _personally_ looking for something that is easily >> achievable and is suitable for students to quickly learn new things and >> quickly make meaningful contributions. >> >> Thanks! >> Tomas >> >> [0] Achieved by custom JGroups protocol -- JGROUPS_TO_KAFKA protocol has >> been implemented. This can be added at the end of JGroups stack and every >> single message that goes through that is sent to Apache Kafka. >> [1] >> { >> "direction": "receiving/up", >> "src": "tsykora-19569", >> "dest": "tsykora-27916", >> "length": 182, >> "timestamp": 1460302055376, >> "message": "SingleRpcCommand{cacheName='___defaultcache', >> command=PutKeyValueCommand{key=f6d52117-8a27-475e-86a7-002a54324615, >> value=tsykora-19569, flags=null, putIfAbsent=false, >> valueMatcher=MATCH_ALWAYS, >> metadata=EmbeddedExpirableMetadata{lifespan=60000, maxIdle=-1, >> version=null}, successful=true}}" >> } >> [2] http://bl.ocks.org/NPashaP/9796212 >> [3] http://bl.ocks.org/mbostock/1046712 >> [4] https://issues.jboss.org/browse/ISPN-6346 >> >> >> >> >> ----- Original Message ----- >>> From: "Galder Zamarreño" <gal...@redhat.com> >>> To: "infinispan -Dev List" <infinispan-dev@lists.jboss.org>, "Tomas Sykora" >>> <tsyk...@redhat.com> >>> Sent: Monday, May 9, 2016 5:06:06 PM >>> Subject: Infispector >>> >>> Hi all, >>> >>> I've just noticed [1], @Thomas, it appears this is your baby? Could you >>> explain in more detail what you are trying to achieve with this? Do you have >>> a video to show what exactly it does? >>> >>> Also, who's [2]? Curious to know who's working on this stuff :) >>> >>> The reason I'm interested in finding out a bit more about [1] is because we >>> have several efforts in the distributed monitoring/tracing area and want to >>> make sure we're not duplicating same effort. >>> >>> 1. Radim's Message Flow Tracer [3]: This is a project to tool for tracing >>> messages and control flow in JGroups/Infinispan using Byteman. >>> >>> 2. Zipkin effort [4]: The idea behind is to have a way to have Infinispan >>> cluster-wide tracing that uses Zipkin to capture and visualize where time is >>> spent within Infinispan. This includes both JGroups and other components >>> that could be time consuming, e.g. persistence. This will be main task for >>> Infinispan 9. This effort will use a lot of interception points Radim has >>> developed in [3] to tie together messages related to a request/tx around the >>> cluster. >>> >>> Does your effort fall within any of these spaces? >>> >>> Cheers, >>> >>> [1] https://github.com/infinispan/infispector >>> [2] https://github.com/mciz >>> [3] https://github.com/rvansa/message-flow-tracer >>> [4] https://issues.jboss.org/browse/ISPN-6346 >>> -- >>> Galder Zamarreño >>> Infinispan, Red Hat >>> >>> >> _______________________________________________ >> infinispan-dev mailing list >> infinispan-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/infinispan-dev > > > -- > Radim Vansa <rva...@redhat.com> > JBoss Performance Team > > _______________________________________________ > infinispan-dev mailing list > infinispan-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/infinispan-dev _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev