提交 cff596d4 作者: Juan Batiz-Benet

diag/net: more powerfil d3 vis

上级 5f81d963
...@@ -109,9 +109,12 @@ d3.json(hash, function(error, data) { ...@@ -109,9 +109,12 @@ d3.json(hash, function(error, data) {
.attr("dy", 3) .attr("dy", 3)
// .attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; }) // .attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; })
// .attr("transform", function(d) { return d.x < 180 ? null : "rotate(180)"; }) // .attr("transform", function(d) { return d.x < 180 ? null : "rotate(180)"; })
.text(function(d) { return d.conns + " - " + d.name; }) .text(function(d) { return d.conns + " - " + (d.rtkey || d.name); })
.attr("transform", function(d) { return "rotate(" + (d.x - 90 + rotate) + ")translate(" + d.y + ")"; }) .attr("transform", function(d) { return "rotate(" + (d.x - 90 + rotate) + ")translate(" + d.y + ")"; })
node.append("svg:title")
.text(function(d) { return d.name; });
// var mid = svg.selectAll(".node-mid") // var mid = svg.selectAll(".node-mid")
// .data(graph.mids) // .data(graph.mids)
// .enter().append("g") // .enter().append("g")
...@@ -135,8 +138,11 @@ function parseGraph(graph2) { ...@@ -135,8 +138,11 @@ function parseGraph(graph2) {
graph.mids = [] graph.mids = []
graph2.nodes.sort(function(a, b) { graph2.nodes.sort(function(a, b) {
if (a.name > b.name) return 1; var aname = a.rtkey || a.name
if (a.name < b.name) return -1; var bname = b.rtkey || b.name
if (aname > bname) return 1;
if (aname < bname) return -1;
return 0; return 0;
}) })
......
...@@ -4,11 +4,15 @@ import ( ...@@ -4,11 +4,15 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"io" "io"
peer "github.com/jbenet/go-ipfs/p2p/peer"
rtable "github.com/jbenet/go-ipfs/routing/kbucket"
) )
type node struct { type node struct {
Name string `json:"name"` Name string `json:"name"`
Value uint64 `json:"value"` Value uint64 `json:"value"`
RtKey string `json:"rtkey"`
} }
type link struct { type link struct {
...@@ -24,7 +28,9 @@ func GetGraphJson(dinfo []*DiagInfo) []byte { ...@@ -24,7 +28,9 @@ func GetGraphJson(dinfo []*DiagInfo) []byte {
for _, di := range dinfo { for _, di := range dinfo {
names[di.ID] = len(nodes) names[di.ID] = len(nodes)
val := di.BwIn + di.BwOut + 10 val := di.BwIn + di.BwOut + 10
nodes = append(nodes, &node{Name: di.ID, Value: val}) // include the routing table key, for proper routing table display
rtk := peer.ID(rtable.ConvertPeerID(peer.ID(di.ID))).Pretty()
nodes = append(nodes, &node{Name: di.ID, Value: val, RtKey: rtk})
} }
var links []*link var links []*link
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论