Interesting! Looking forward to demos/videos...

On 10/05/16 15:41, 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
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)

_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to