Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Jabis Sev贸n
/
esm
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
d5fef62c
authored
2016-08-08 19:23:04 +0200
by
Rafal Wilinski
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Fix calculating mean, send only delta of data
1 parent
447c6fad
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
24 deletions
index.html
index.js
index.html
View file @
d5fef62
...
...
@@ -228,40 +228,73 @@
options
:
defaultOptions
});
socket
.
on
(
'sta
ts'
,
function
(
data
)
{
socket
.
on
(
'sta
rt'
,
function
(
data
)
{
// Remove last element of Array because it contains malformed responses data.
// To keep consistency we also remove os data.
data
.
responses
.
pop
();
data
.
os
.
pop
();
console
.
log
(
data
);
data
[
0
].
responses
.
pop
();
data
[
0
].
os
.
pop
();
cpuStat
.
textContent
=
data
.
os
[
data
.
os
.
length
-
1
].
cpu
.
toFixed
(
1
)
+
'%'
;
cpuChart
.
data
.
datasets
[
0
].
data
=
data
.
os
.
map
(
function
(
point
)
{
return
point
.
cpu
;
});
cpuChart
.
data
.
labels
=
data
.
os
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
cpuStat
.
textContent
=
data
[
0
].
os
[
data
[
0
]
.
os
.
length
-
1
].
cpu
.
toFixed
(
1
)
+
'%'
;
cpuChart
.
data
.
datasets
[
0
].
data
=
data
[
0
]
.
os
.
map
(
function
(
point
)
{
return
point
.
cpu
;
});
cpuChart
.
data
.
labels
=
data
[
0
]
.
os
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
cpuChart
.
update
();
memStat
.
textContent
=
data
.
os
[
data
.
os
.
length
-
1
].
memory
.
toFixed
(
1
)
+
'MB'
;
memChart
.
data
.
datasets
[
0
].
data
=
data
.
os
.
map
(
function
(
point
)
{
return
point
.
memory
;
});
memChart
.
data
.
labels
=
data
.
os
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
memStat
.
textContent
=
data
[
0
].
os
[
data
[
0
]
.
os
.
length
-
1
].
memory
.
toFixed
(
1
)
+
'MB'
;
memChart
.
data
.
datasets
[
0
].
data
=
data
[
0
]
.
os
.
map
(
function
(
point
)
{
return
point
.
memory
;
});
memChart
.
data
.
labels
=
data
[
0
]
.
os
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
memChart
.
update
();
loadStat
.
textContent
=
data
.
os
[
data
.
os
.
length
-
1
].
load
[
0
].
toFixed
(
2
);
loadChart
.
data
.
datasets
[
0
].
data
=
data
.
os
.
map
(
function
(
point
)
{
return
point
.
load
[
0
];
});
loadChart
.
data
.
labels
=
data
.
os
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
loadStat
.
textContent
=
data
[
0
].
os
[
data
[
0
]
.
os
.
length
-
1
].
load
[
0
].
toFixed
(
2
);
loadChart
.
data
.
datasets
[
0
].
data
=
data
[
0
]
.
os
.
map
(
function
(
point
)
{
return
point
.
load
[
0
];
});
loadChart
.
data
.
labels
=
data
[
0
]
.
os
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
loadChart
.
update
();
responseTimeStat
.
textContent
=
data
.
responses
[
data
.
responses
.
length
-
1
].
mean
.
toFixed
(
2
)
+
'ms'
;
responseTimeChart
.
data
.
datasets
[
0
].
data
=
data
.
responses
.
map
(
function
(
point
)
{
return
point
.
mean
;
});
responseTimeChart
.
data
.
labels
=
data
.
responses
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
responseTimeStat
.
textContent
=
data
[
0
].
responses
[
data
[
0
]
.
responses
.
length
-
1
].
mean
.
toFixed
(
2
)
+
'ms'
;
responseTimeChart
.
data
.
datasets
[
0
].
data
=
data
[
0
]
.
responses
.
map
(
function
(
point
)
{
return
point
.
mean
;
});
responseTimeChart
.
data
.
labels
=
data
[
0
]
.
responses
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
responseTimeChart
.
update
();
if
(
data
.
responses
.
length
>=
2
)
{
var
deltaTime
=
data
.
responses
[
data
.
responses
.
length
-
1
].
timestamp
-
data
.
responses
[
data
.
responses
.
length
-
2
].
timestamp
;
rpsStat
.
textContent
=
(
data
.
responses
[
data
.
responses
.
length
-
1
].
count
/
deltaTime
*
1000
).
toFixed
(
2
);
rpsChart
.
data
.
datasets
[
0
].
data
=
data
.
responses
.
map
(
function
(
point
)
{
return
point
.
count
/
deltaTime
*
1000
;
});
rpsChart
.
data
.
labels
=
data
.
responses
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
if
(
data
[
0
]
.
responses
.
length
>=
2
)
{
var
deltaTime
=
data
[
0
].
responses
[
data
[
0
].
responses
.
length
-
1
].
timestamp
-
data
[
0
].
responses
[
data
[
0
]
.
responses
.
length
-
2
].
timestamp
;
rpsStat
.
textContent
=
(
data
[
0
].
responses
[
data
[
0
]
.
responses
.
length
-
1
].
count
/
deltaTime
*
1000
).
toFixed
(
2
);
rpsChart
.
data
.
datasets
[
0
].
data
=
data
[
0
]
.
responses
.
map
(
function
(
point
)
{
return
point
.
count
/
deltaTime
*
1000
;
});
rpsChart
.
data
.
labels
=
data
[
0
]
.
responses
.
map
(
function
(
point
)
{
return
point
.
timestamp
;
});
rpsChart
.
update
();
}
});
socket
.
on
(
'stats'
,
function
(
data
)
{
// Remove last element of Array because it contains malformed responses data.
// To keep consistency we also remove os data.
console
.
log
(
data
);
cpuStat
.
textContent
=
data
.
os
.
cpu
.
toFixed
(
1
)
+
'%'
;
cpuChart
.
data
.
datasets
[
0
].
data
.
push
(
data
.
os
.
cpu
);
cpuChart
.
data
.
labels
.
push
(
data
.
os
.
timestamp
);
cpuChart
.
update
();
memStat
.
textContent
=
data
.
os
.
memory
.
toFixed
(
1
)
+
'MB'
;
memChart
.
data
.
datasets
[
0
].
data
.
push
(
data
.
os
.
memory
);
memChart
.
data
.
labels
.
push
(
data
.
os
.
timestamp
);
memChart
.
update
();
loadStat
.
textContent
=
data
.
os
.
load
[
0
].
toFixed
(
2
);
loadChart
.
data
.
datasets
[
0
].
data
.
push
(
data
.
os
.
load
[
0
]);
loadChart
.
data
.
labels
.
push
(
data
.
os
.
timestamp
);
loadChart
.
update
();
responseTimeStat
.
textContent
=
data
.
responses
.
mean
.
toFixed
(
2
)
+
'ms'
;
responseTimeChart
.
data
.
datasets
[
0
].
data
.
push
(
data
.
responses
.
mean
);
responseTimeChart
.
data
.
labels
.
push
(
data
.
responses
.
timestamp
);
responseTimeChart
.
update
();
var
deltaTime
=
data
.
responses
.
timestamp
-
rpsChart
.
data
.
labels
[
rpsChart
.
data
.
labels
.
length
-
1
];
rpsStat
.
textContent
=
(
data
.
responses
.
count
/
deltaTime
*
1000
).
toFixed
(
2
);
rpsChart
.
data
.
datasets
[
0
].
data
.
push
(
data
.
responses
.
count
/
deltaTime
*
1000
);
rpsChart
.
data
.
labels
.
push
(
data
.
responses
.
timestamp
);
rpsChart
.
update
();
});
</script>
</body>
</html>
\ No newline at end of file
...
...
index.js
View file @
d5fef62
...
...
@@ -49,8 +49,8 @@
const
sendMetrics
=
(
io
,
span
)
=>
{
io
.
emit
(
'stats'
,
{
os
:
span
.
os
,
responses
:
span
.
responses
,
os
:
span
.
os
[
span
.
os
.
length
-
2
]
,
responses
:
span
.
responses
[
span
.
responses
.
length
-
2
]
,
});
};
...
...
@@ -74,7 +74,7 @@
const
io
=
require
(
'socket.io'
)(
config
.
socketPort
);
io
.
on
(
'connection'
,
(
socket
)
=>
{
console
.
log
(
'User connected! '
+
socket
);
socket
.
emit
(
'start'
,
config
.
spans
);
});
config
.
spans
.
forEach
((
span
)
=>
{
...
...
@@ -98,8 +98,8 @@
if
(
last
!==
undefined
&&
span
.
responses
.
last
().
timestamp
/
1000
+
span
.
interval
>
Date
.
now
()
/
1000
)
{
span
.
responses
.
last
()[
category
]
++
;
span
.
responses
.
last
().
mean
=
responseTime
;
span
.
responses
.
last
().
count
++
;
span
.
responses
.
last
().
mean
=
span
.
responses
.
last
().
mean
+
((
responseTime
-
span
.
responses
.
last
().
mean
)
/
span
.
responses
.
last
().
count
);
}
else
{
span
.
responses
.
push
({
'2'
:
category
===
2
?
1
:
0
,
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment