Update:fix #2114 datas are too much (#217)
authorAllen Wang <Allen.Wang.123@outlook.com>
Mon, 7 Jan 2019 14:22:35 +0000 (22:22 +0800)
committer吴晟 Wu Sheng <wu.sheng@foxmail.com>
Mon, 7 Jan 2019 14:22:35 +0000 (22:22 +0800)
src/components/TraceTree/d3-trace.js
src/components/TraceTree/index.js
src/components/TraceTree/style.less

index 9c795e7..8f0461b 100644 (file)
@@ -19,7 +19,7 @@
 import * as d3 from 'd3';
 import d3tip from 'd3-tip';
 export default class TraceMap {
-  constructor(el, showSpanModal,smax,smin,cmax,cmin) {
+  constructor(el,row, showSpanModal,smax,smin,cmax,cmin) {
     this.type = {
       MQ: '#bf99f8',
       Http: '#72a5fd',
@@ -37,9 +37,10 @@ export default class TraceMap {
     this.i = 0;
     this.j = 0;
     this.width = el.clientWidth;
-    this.height = el.clientHeight;
+    this.height = (row.length - 1) * 80;
     this.body = d3
       .select(this.el)
+      .style('height', this.height + 'px')
       .append('svg')
       .attr('width', this.width)
       .attr('height', this.height);
@@ -53,7 +54,7 @@ export default class TraceMap {
       .html(d => d.data.label);
     this.body.call(this.timeTip);
     this.body.call(this.tip);
-    this.treemap = d3.tree().size([this.height * 0.7, this.width]);
+    this.treemap = d3.tree().size([this.height * 0.8, this.width]);
   }
   init(data, row) {
     this.row = row;
@@ -65,7 +66,7 @@ export default class TraceMap {
       .scaleSequential()
       .domain([0, this.list.length])
       .interpolator(d3.interpolateCool);
-    this.svg = this.body.append('g').attr('transform', d => `translate(0, ${this.row.length * 10})`).append('g');
+    this.svg = this.body.append('g').attr('transform', d => `translate(0, ${this.row.length * 14})`).append('g');
     this.timeGroup = this.body.append('g').attr('class','timeGroup').attr('transform', d => 'translate(5,30)');
     this.body.call(this.getZoomBehavior(this.svg));
     this.root = d3.hierarchy(this.data, d => d.children);
index 6e740ea..278b1d8 100644 (file)
@@ -118,7 +118,7 @@ export default class Trace extends Component {
 
     this.topChildMax = this.topChild.sort((a,b) => b - a)[0];
     this.topChildMin = this.topChild.sort((a,b) => b - a)[4];
-    this.tree = new Tree(this.echartsElement, propsData.showSpanModal, this.topSlowMax,this.topSlowMin,this.topChildMax,this.topChildMin)
+    this.tree = new Tree(this.echartsElement,rowData, propsData.showSpanModal, this.topSlowMax,this.topSlowMin,this.topChildMax,this.topChildMin)
     this.tree.init({label:`${this.traceId}`, children: this.segmentId}, rowData);
     this.tree.draw();
     this.resize = this.tree.resize.bind(this.tree);
@@ -158,10 +158,6 @@ export default class Trace extends Component {
   }
   
   render() {
-    const newStyle = {
-      height: 800,
-      // ...style,
-    };
     return (
       <div>
         <ButtonGroup>
@@ -178,7 +174,6 @@ export default class Trace extends Component {
         </div>
         <div
           ref={(e) => { this.echartsElement = e; }}
-          style={newStyle}
           className="trace-tree"
         />
       </div>
index 5924b85..1ed35c4 100644 (file)
@@ -15,9 +15,6 @@
  * limitations under the License.\r
  */\r
 \r
-:global(.trace-tree) {\r
-  height: 1000px;\r
-}\r
 :global(.trace-tree .node) {\r
   cursor: pointer;\r
 }\r