fst – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | (function () { |
2 | |||
3 | function getPorts(data) { |
||
4 | // Get geographic metrics
|
||
5 | const ports = data.ports |
||
6 | var total = 0 |
||
7 | Object.keys(ports).forEach(function(item, index) { |
||
8 | ++total |
||
9 | }) |
||
10 | return Object.keys(ports).map(function (item) { |
||
11 | return { |
||
12 | name: item, |
||
13 | y: ports[item]/total * 100
|
||
14 | }
|
||
15 | })
|
||
16 | }
|
||
17 | |||
18 | // Setup incidents map.
|
||
19 | $.getJSON('/metrics', function (data) {
|
||
20 | data = getPorts(data)
|
||
21 | |||
22 | // Initiate the chart
|
||
23 | var portsChart = Highcharts.chart('containerServices', {
|
||
24 | chart: {
|
||
25 | backgroundColor: 'rgba(255, 255, 255, 0.0)',
|
||
26 | plotBackgroundColor: null,
|
||
27 | plotBorderWidth: null,
|
||
28 | plotShadow: false,
|
||
29 | type: 'pie',
|
||
30 | events: {
|
||
31 | load: function () {
|
||
32 | var series = this.series[0]
|
||
33 | setInterval(function () {
|
||
34 | $.getJSON('/metrics', function (data) {
|
||
35 | data = getPorts(data)
|
||
36 | // Update series
|
||
37 | series.update({
|
||
38 | data: data
|
||
39 | }, true)
|
||
40 | portsChart.redraw()
|
||
41 | portsChart.hideLoading()
|
||
42 | })
|
||
43 | }, 1000)
|
||
44 | }
|
||
45 | }
|
||
46 | },
|
||
47 | |||
48 | |||
49 | credits: {
|
||
50 | enabled: false
|
||
51 | },
|
||
52 | |||
53 | title: {
|
||
54 | text: ''
|
||
55 | },
|
||
56 | |||
57 | tooltip: {
|
||
58 | pointFormat: '{series.name}: {point.percentage:.1f}%b>'
|
||
59 | },
|
||
60 | |||
61 | plotOptions: {
|
||
62 | pie: {
|
||
63 | allowPointSelect: true,
|
||
64 | cursor: 'pointer',
|
||
65 | dataLabels: {
|
||
66 | enabled: false
|
||
67 | },
|
||
68 | showInLegend: true
|
||
69 | }
|
||
70 | },
|
||
71 | |||
72 | series: [{
|
||
73 | name: 'Occurences',
|
||
74 | data: data
|
||
75 | }]
|
||
76 | })
|
||
77 | })
|
||
78 | |||
79 | })() |