New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new visualize type: sankey #4832

Closed
wants to merge 7 commits into
base: master
from

Conversation

Projects
None yet
@chenryn
Contributor

chenryn commented Sep 2, 2015

As @gthorsen commented in #3456 , I implement a sankey visualize type based on pie chart.

@elasticsearch-release

This comment has been minimized.

Show comment
Hide comment
@elasticsearch-release

elasticsearch-release Sep 2, 2015

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then say 'jenkins, test it'.

elasticsearch-release commented Sep 2, 2015

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then say 'jenkins, test it'.

@rashidkpc

This comment has been minimized.

Show comment
Hide comment
@rashidkpc

rashidkpc Sep 4, 2015

Member

Can you elaborate on the enhancement here? Useful things include:

  • screenshots - At least a handful
  • documentation - a description of the diagram, how to use it, and when. Examples of datasets it makes sense for
  • tests - this currently causes the tests to fail
Member

rashidkpc commented Sep 4, 2015

Can you elaborate on the enhancement here? Useful things include:

  • screenshots - At least a handful
  • documentation - a description of the diagram, how to use it, and when. Examples of datasets it makes sense for
  • tests - this currently causes the tests to fail

@rashidkpc rashidkpc self-assigned this Sep 4, 2015

@chenryn

This comment has been minimized.

Show comment
Hide comment
@chenryn

chenryn Sep 6, 2015

Contributor

screenshot:
sankey example

I use multi-layer pie chart to show functions' stack of php slowlog before, it's so great to checkout which request link is worst or changed. But, if one function name in different parent aggregations is the same, we can't merge them from other buckets in pie chart. So I think sankey chart maybe a good way to visualize.

And my screenshot above show another use case: clientip -> isp -> realserver.

Because I use sankey as a extension of multi-layer pie, so they could use the same dataset or testing of pie?

Contributor

chenryn commented Sep 6, 2015

screenshot:
sankey example

I use multi-layer pie chart to show functions' stack of php slowlog before, it's so great to checkout which request link is worst or changed. But, if one function name in different parent aggregations is the same, we can't merge them from other buckets in pie chart. So I think sankey chart maybe a good way to visualize.

And my screenshot above show another use case: clientip -> isp -> realserver.

Because I use sankey as a extension of multi-layer pie, so they could use the same dataset or testing of pie?

@chenryn

This comment has been minimized.

Show comment
Hide comment
@chenryn

chenryn Sep 9, 2015

Contributor

@rashidkpc I add tests for sankey and now travis-ci check has passed. Anything more needed?

Contributor

chenryn commented Sep 9, 2015

@rashidkpc I add tests for sankey and now travis-ci check has passed. Anything more needed?

Show outdated Hide outdated src/plugins/kbn_vislib_vis_types/public/sankey.js
name: 'metric',
title: 'Slice Size',
min: 1,
aggFilter: ['sum', 'count', 'cardinality'],

This comment has been minimized.

@rashidkpc

rashidkpc Sep 10, 2015

Member

Why can't we use min/max/avg here?

@rashidkpc

rashidkpc Sep 10, 2015

Member

Why can't we use min/max/avg here?

This comment has been minimized.

@chenryn

chenryn Sep 11, 2015

Contributor

Yes, we can. It just because the code base was copy from pie, and I used bucket.doc_count to process resp. The newest commit change to use metric.getValue(b) and now we can use min/max/avg here.

@chenryn

chenryn Sep 11, 2015

Contributor

Yes, we can. It just because the code base was copy from pie, and I used bucket.doc_count to process resp. The newest commit change to use metric.getValue(b) and now we can use min/max/avg here.

Show outdated Hide outdated src/plugins/kbn_vislib_vis_types/public/sankey.js
title: 'Sankey chart',
icon: 'fa-sankey-chart',
description: 'Sankey charts are ideal for displaying the parts of some whole. For example, sales percentages by department.' +
'Pro Tip: Sankey charts are best used sparingly, and with no more than 7 slices per sankey.',

This comment has been minimized.

@rashidkpc

rashidkpc Sep 10, 2015

Member

Is this true? Was this just a search/replace?

@rashidkpc

rashidkpc Sep 10, 2015

Member

Is this true? Was this just a search/replace?

This comment has been minimized.

@chenryn

chenryn Sep 11, 2015

Contributor

You are right^-^.
Wrote a real sankey descirption now.

@chenryn

chenryn Sep 11, 2015

Contributor

You are right^-^.
Wrote a real sankey descirption now.

@rashidkpc

This comment has been minimized.

Show comment
Hide comment
@rashidkpc

rashidkpc Sep 10, 2015

Member

What do the colors represent? This doesn't seem to be using our standard color generation system or legends?

Member

rashidkpc commented Sep 10, 2015

What do the colors represent? This doesn't seem to be using our standard color generation system or legends?

@chenryn

This comment has been minimized.

Show comment
Hide comment
@chenryn

chenryn Sep 16, 2015

Contributor

@rashidkpc I have change to use the standard color generation system now.
I think it's important to show the upstream and downstream terms on the sankey flow at the same time, so I show all terms on the chart and remove the legend. Is legend a required part?

Contributor

chenryn commented Sep 16, 2015

@rashidkpc I have change to use the standard color generation system now.
I think it's important to show the upstream and downstream terms on the sankey flow at the same time, so I show all terms on the chart and remove the legend. Is legend a required part?

@rashidkpc

This comment has been minimized.

Show comment
Hide comment
@rashidkpc

rashidkpc Nov 3, 2015

Member

Thanks @chenryn, this has a lot of changes in it, and there's a lot of moving parts in the visualization system right now, so it will take some time to review. I'm going to put a hold on this right now while we sort out some of the vislib API questions

Member

rashidkpc commented Nov 3, 2015

Thanks @chenryn, this has a lot of changes in it, and there's a lot of moving parts in the visualization system right now, so it will take some time to review. I'm going to put a hold on this right now while we sort out some of the vislib API questions

@ryanmaclean

This comment has been minimized.

Show comment
Hide comment
@ryanmaclean

ryanmaclean Nov 28, 2015

Contributor

This has huge potential for access logs!

Contributor

ryanmaclean commented Nov 28, 2015

This has huge potential for access logs!

@juerkan

This comment has been minimized.

Show comment
Hide comment
@juerkan

juerkan Dec 10, 2015

i'm in telco business and we need this kind of graphs to analyse device traffic relationships in networks.
a big +1

juerkan commented Dec 10, 2015

i'm in telco business and we need this kind of graphs to analyse device traffic relationships in networks.
a big +1

@AlexIoannides

This comment has been minimized.

Show comment
Hide comment
@AlexIoannides

AlexIoannides Dec 17, 2015

+1 this would be very useful.

AlexIoannides commented Dec 17, 2015

+1 this would be very useful.

@ryanmaclean ryanmaclean referenced this pull request Dec 28, 2015

Open

Chord diagrams #5776

@zphj1987

This comment has been minimized.

Show comment
Hide comment
@zphj1987

zphj1987 Jan 30, 2016

加油,这个图表很有用!

good job! i need sankey chart ,
@chenryn

zphj1987 commented Jan 30, 2016

加油,这个图表很有用!

good job! i need sankey chart ,
@chenryn

@rashidkpc

This comment has been minimized.

Show comment
Hide comment
@rashidkpc

rashidkpc Feb 8, 2016

Member

Now that things are bit more stable I think it would be reasonable to implement this as a plugin. I'd rather not merge it into upstream at this time

Member

rashidkpc commented Feb 8, 2016

Now that things are bit more stable I think it would be reasonable to implement this as a plugin. I'd rather not merge it into upstream at this time

@rashidkpc rashidkpc closed this Feb 8, 2016

@chenryn

This comment has been minimized.

Show comment
Hide comment
@chenryn

chenryn Feb 15, 2016

Contributor

@rashidkpc By now all the exists visType plugin examples are using TemplateVisType, but this PR use VislibVisType. Will the kibana dev team give some VislibVisType plugin example?

Contributor

chenryn commented Feb 15, 2016

@rashidkpc By now all the exists visType plugin examples are using TemplateVisType, but this PR use VislibVisType. Will the kibana dev team give some VislibVisType plugin example?

@vikramshinde12

This comment has been minimized.

Show comment
Hide comment
@vikramshinde12

vikramshinde12 Nov 2, 2016

Hi Chenryn,
I have installed kbn_sankey_vis on our kibana server. In kibana status it shows that kbn_sankey_vis plugin is ready.
But I can not see sankey map under visualisation tab.
Please can you guide how to use this plugin to create a sankey diagram for user behaviour flow based on sample logs below

[2016-11-02 11:38:06] app.INFO: referer:Login Page, uri_path:Cancel Appointment Summary page, referralNumber : 000000018010 | sessionId : nhqnlqjqn3jidtnhm9he4kbuo5 [] []
[2016-11-02 11:38:12] app.INFO: referer:Cancel Appointment Summary page, uri_path:Cancellation Reason page, referralNumber : 000000018010 | sessionId : nhqnlqjqn3jidtnhm9he4kbuo5 [] []
[2016-11-02 11:38:20] app.INFO: referer:Cancellation Reason page, uri_path:Cancellation Confirmation page, referralNumber : 000000018010 | sessionId : nhqnlqjqn3jidtnhm9he4kbuo5 [] []

In the logs above, "referer" is "from url" and "uri_path" is the "to url"

Thank you in advance.

vikramshinde12 commented Nov 2, 2016

Hi Chenryn,
I have installed kbn_sankey_vis on our kibana server. In kibana status it shows that kbn_sankey_vis plugin is ready.
But I can not see sankey map under visualisation tab.
Please can you guide how to use this plugin to create a sankey diagram for user behaviour flow based on sample logs below

[2016-11-02 11:38:06] app.INFO: referer:Login Page, uri_path:Cancel Appointment Summary page, referralNumber : 000000018010 | sessionId : nhqnlqjqn3jidtnhm9he4kbuo5 [] []
[2016-11-02 11:38:12] app.INFO: referer:Cancel Appointment Summary page, uri_path:Cancellation Reason page, referralNumber : 000000018010 | sessionId : nhqnlqjqn3jidtnhm9he4kbuo5 [] []
[2016-11-02 11:38:20] app.INFO: referer:Cancellation Reason page, uri_path:Cancellation Confirmation page, referralNumber : 000000018010 | sessionId : nhqnlqjqn3jidtnhm9he4kbuo5 [] []

In the logs above, "referer" is "from url" and "uri_path" is the "to url"

Thank you in advance.

@shiv2202

This comment has been minimized.

Show comment
Hide comment
@shiv2202

shiv2202 Nov 8, 2016

Hello,
Does it work with kibana 5.0.0 ?
Thanks

shiv2202 commented Nov 8, 2016

Hello,
Does it work with kibana 5.0.0 ?
Thanks

@vikramshinde12

This comment has been minimized.

Show comment
Hide comment
@vikramshinde12

vikramshinde12 Nov 8, 2016

@chenryn @shiv2202
It worked on Kibana 4.4.2.

I have added "d3-plugins-sankey" plugin separately.

Thanks.
sankey

vikramshinde12 commented Nov 8, 2016

@chenryn @shiv2202
It worked on Kibana 4.4.2.

I have added "d3-plugins-sankey" plugin separately.

Thanks.
sankey

@imweijh

This comment has been minimized.

Show comment
Hide comment
@imweijh

imweijh Feb 8, 2017

looks very good. works on 5.x ?

imweijh commented Feb 8, 2017

looks very good. works on 5.x ?

@eligro91

This comment has been minimized.

Show comment
Hide comment
@eligro91

eligro91 commented Nov 20, 2017

+1

@eligro91

This comment has been minimized.

Show comment
Hide comment
@eligro91

eligro91 Nov 20, 2017

@rashidkpc what is needed to be done in order to merge this pull request?

eligro91 commented Nov 20, 2017

@rashidkpc what is needed to be done in order to merge this pull request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment