Coder Social home page Coder Social logo

Only one global node about vizceral HOT 12 CLOSED

netflix avatar netflix commented on May 22, 2024
Only one global node

from vizceral.

Comments (12)

jrsquared avatar jrsquared commented on May 22, 2024

This is definitely a bug; I'll dig into why it's not showing if there's only one node.

However, if you have only one node, do you need the global view?

from vizceral.

baransu avatar baransu commented on May 22, 2024

You're right. The answer is yes and no. Right now we have region view only for one node in cluster so global view shows communication between nodes. Our goal is to give user access to select inspected node by global view in Vizceral, and showing this one node when only one node is available will make thinks consistent and explicit.

from vizceral.

aSqrd-eSqrd avatar aSqrd-eSqrd commented on May 22, 2024

Are you trying to basically start at the region view level? Because, I'm very interested in being able to do that as well. Right, now create a completely made-up Internet and Region node just so I can go into the region view which is what I actually want. So I don't actually need the Global view either.

I'd be interested in some pointers or guidance on the where and what to look for to "skip" the global level.

from vizceral.

baransu avatar baransu commented on May 22, 2024

You just have to setView to ["INTERNET"] if you want region view for that node

from vizceral.

baransu avatar baransu commented on May 22, 2024

I've found this is present when this one node has no connections. Temporary solution could be creating void connection to none existing node.

from vizceral.

baransu avatar baransu commented on May 22, 2024

Here is line causing this issue: https://github.com/Netflix/vizceral/blob/master/src/base/trafficGraph.js#L666

Question is, how should we treat orphan nodes. For my use case it's necessary to have at least entry orphan node present. This could be good solution overall to add isEntryNode check for that.

I'll make PR and wait for your response @jrsquared

from vizceral.

baransu avatar baransu commented on May 22, 2024

Because it's related to #55 I'm adding this to #59 PR

from vizceral.

aSqrd-eSqrd avatar aSqrd-eSqrd commented on May 22, 2024

@baransu,

I think we have some terminology mis-match. I tried the setView(['INTERNET']) like you suggested, but came to realize that what I'm calling "Region view", isn't what you're calling "Region view".

To me, there are 3 "zoom" levels

  1. Global (where you see the region nodes connected to Internet)
  2. Region (where you see all the "services" contained in a region graphed out... ltrTreeLayout)
  3. Detail Node (where you double-clicked a "service" and now see just that node and any nodes connected to the double-clicked node).

What do you call the "zoom" levels?

@jrsquared, what about you? What's the "official" level/view "names"?

from vizceral.

jrsquared avatar jrsquared commented on May 22, 2024

@aSqrd-eSqrd That is what we call the zoom levels internally too, glad to see I'm not the only one!

If you do not have a global view at all, you can just create a graph that only has a region view and it should just work. You don't need to fake a global view and then set the view to the region view. The example has a global view and region views just because that's how we built it and use it internally, but any graphs or subgraphs are possible.

from vizceral.

baransu avatar baransu commented on May 22, 2024

For us :

  1. cluster
  2. node (in cluster)
  3. process (Erlang VM process)

but that doesn't matter, it's the same as you.

I know I don't have to fake global view but for us it's important to show one node in global view and allow interaction with that node as well.

from vizceral.

aSqrd-eSqrd avatar aSqrd-eSqrd commented on May 22, 2024

@jrsquared,

<<I'm duplicating this entire comment plus necessary context as a new issue (which it is), see issue #60.>>

I was really excited to see that a global node isn't required and immediately tried it out. It is a change I need, but haven't had the guts to take on yet.

It does kind of work, but there is something crazy happens with event attachments or something. I took my usual test JSON file which consist of one region, an Internet node and a single connection between them at the global, while the region is has about 30+ nodes interconnected. I deleted the global render chunk so that only the region node and its children remained.

It graphed just like expected (ltrTree), but none of the child nodes can be zoomed into. In fact, when I lathered the whole thing up with breakpoints I only get a breakpoint on the single click which opens the details panel, but nothing at all for the double-click that should zoom to the detail level.

from vizceral.

jrsquared avatar jrsquared commented on May 22, 2024

Fixed with #59

from vizceral.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.