Index: tracing/tracing/value/ui/histogram_span.html |
diff --git a/tracing/tracing/value/ui/histogram_span.html b/tracing/tracing/value/ui/histogram_span.html |
index ddc0b9aceb537cdb1f4567196e8ab0e47f65fb26..b557d0e505fb8dbf4453870f9648b3f095e33c30 100644 |
--- a/tracing/tracing/value/ui/histogram_span.html |
+++ b/tracing/tracing/value/ui/histogram_span.html |
@@ -90,15 +90,16 @@ tr.exportTo('tr.v.ui', function() { |
this.rowStateListener_ = this.onRowStateUpdate_.bind(this); |
this.rowState = new tr.v.ui.HistogramSetTableRowState(); |
- this.histogram_ = undefined; |
- this.referenceHistogram_ = undefined; |
- this.graphWidth_ = undefined; |
+ this.alpha_ = undefined; |
+ this.anySampleDiagnostics_ = false; |
+ this.canMergeSampleDiagnostics_ = true; |
this.graphHeight_ = undefined; |
+ this.graphWidth_ = undefined; |
+ this.histogram_ = undefined; |
+ this.histograms_ = undefined; |
this.mouseDownBin_ = undefined; |
this.prevBrushedBinRange_ = new tr.b.math.Range(); |
- this.anySampleDiagnostics_ = false; |
- this.canMergeSampleDiagnostics_ = true; |
- this.alpha_ = undefined; |
+ this.referenceHistogram_ = undefined; |
}, |
get rowState() { |
@@ -165,7 +166,7 @@ tr.exportTo('tr.v.ui', function() { |
this.$.metric_diagnostics.tabLabel = 'histogram diagnostics'; |
this.$.sample_diagnostics_container.tabLabel = 'sample diagnostics'; |
this.$.metadata_diagnostics.tabLabel = 'metadata'; |
- this.$.metadata_diagnostics.isMetadata = true; |
+ |
this.$.diagnostics.addEventListener( |
'selected-tab-change', this.onSelectedDiagnosticsChanged_.bind(this)); |
this.$.drag_handle.target = this.$.container; |
@@ -355,13 +356,15 @@ tr.exportTo('tr.v.ui', function() { |
} |
} |
+ this.$.merge_sample_diagnostics.disabled = maps.length === 1; |
+ |
if (this.$.merge_sample_diagnostics.checked !== |
this.viewState.mergeSampleDiagnostics) { |
this.viewState.update({ |
mergeSampleDiagnostics: this.$.merge_sample_diagnostics.checked}); |
} |
- if (this.viewState.mergeSampleDiagnostics) { |
+ if (this.viewState.mergeSampleDiagnostics && maps.length > 1) { |
const merged = new tr.v.d.DiagnosticMap(); |
for (const map of maps) { |
merged.addDiagnostics(map); |
@@ -372,7 +375,8 @@ tr.exportTo('tr.v.ui', function() { |
const mark = tr.b.Timing.mark('histogram-span', |
(this.viewState.mergeSampleDiagnostics ? 'merge' : 'split') + |
'SampleDiagnostics'); |
- this.$.sample_diagnostics.diagnosticMaps = maps; |
+ this.$.sample_diagnostics.build( |
+ maps, false, this.histogram_, this.histograms_); |
mark.end(); |
if (this.anySampleDiagnostics_) { |
@@ -385,11 +389,10 @@ tr.exportTo('tr.v.ui', function() { |
return this.histogram_; |
}, |
- set histogram(histogram) { |
- if (histogram === this.histogram_) return; |
+ build(histogram, referenceHistogram, histograms) { |
this.histogram_ = histogram; |
- this.$.metric_diagnostics.histogram = histogram; |
- this.$.sample_diagnostics.histogram = histogram; |
+ this.referenceHistogram_ = referenceHistogram; |
+ this.histograms_ = histograms; |
this.anySampleDiagnostics_ = false; |
for (const bin of this.histogram.allBins) { |
@@ -406,14 +409,6 @@ tr.exportTo('tr.v.ui', function() { |
return this.referenceHistogram_; |
}, |
- set referenceHistogram(histogram) { |
- if (histogram === this.referenceHistogram_) { |
- return; |
- } |
- this.referenceHistogram_ = histogram; |
- if (this.histogram) this.updateContents_(); |
- }, |
- |
set alpha(a) { |
if (tr.b.math.approximately(a, this.alpha_)) return; |
this.alpha_ = a; |
@@ -471,10 +466,12 @@ tr.exportTo('tr.v.ui', function() { |
const metricDiagnosticMap = new tr.v.d.DiagnosticMap(); |
const metadataDiagnosticMap = new tr.v.d.DiagnosticMap(); |
for (const [key, diagnostic] of this.histogram.diagnostics) { |
- // Hide the 'mergedFrom' and 'mergedTo' diagnostics, which are |
- // implementation details. |
- if (key === tr.v.d.RESERVED_NAMES.MERGED_FROM) continue; |
- if (key === tr.v.d.RESERVED_NAMES.MERGED_TO) continue; |
+ // https://github.com/catapult-project/catapult/issues/2842 |
+ if (diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet) continue; |
+ if (diagnostic instanceof tr.v.d.CollectedRelatedEventSet) continue; |
+ if (diagnostic instanceof tr.v.d.GroupingPath) continue; |
+ if (diagnostic instanceof tr.v.d.RelatedNameMap) continue; |
+ |
if (tr.v.d.RESERVED_NAMES_SET.has(key)) { |
metadataDiagnosticMap.set(key, diagnostic); |
} else { |
@@ -484,14 +481,16 @@ tr.exportTo('tr.v.ui', function() { |
const diagnosticTabs = []; |
if (metricDiagnosticMap.size) { |
- this.$.metric_diagnostics.diagnosticMaps = [metricDiagnosticMap]; |
+ this.$.metric_diagnostics.build( |
+ [metricDiagnosticMap], false, this.histogram_, this.histograms_); |
diagnosticTabs.push(this.$.metric_diagnostics); |
} |
if (this.anySampleDiagnostics_) { |
diagnosticTabs.push(this.$.sample_diagnostics_container); |
} |
if (metadataDiagnosticMap.size) { |
- this.$.metadata_diagnostics.diagnosticMaps = [metadataDiagnosticMap]; |
+ this.$.metadata_diagnostics.build( |
+ [metadataDiagnosticMap], true, this.histogram_, this.histograms_); |
diagnosticTabs.push(this.$.metadata_diagnostics); |
} |
this.$.diagnostics.resetSubViews(diagnosticTabs); |