์ค๋ฅ์จ์ ํ์ํ๋ ๊ทธ๋ํ๊ฐ ์๊ณ ์ต๋ ์ถ์ auto
. ๋ฌธ์ ๋ ์ค๋ฅ์จ์ด ๋ฎ์ ์กฐ์ฉํ ๋ ์๋ ์ถ์ด ์ถ์๋์ด ์์ ํ์์ด ํฐ ์ฐ์ฒ๋ผ ํ์๋๋ค๋ ๊ฒ์
๋๋ค. ์ต๋ ๊ฐ์ ํน์ ๊ฐ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋ฎ์ ๊ฒ์ ๋ชฉํ๋กํ๊ณ ์ฐจํธ์์ ๋ฒ์ด๋๋ ๊ทธ๋ํ๋ฅผ ๊ฒฝํํ๊ณ ์ถ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฝ์ ์์๋ "์ค๊ฐ"๊ทธ๋ํ๋ฅผ ์ป์ง ๋ชปํ๋๋ก ์ต๋ ๊ฐ์ ๋๋ฌด ๋๊ฒ ์ค์ ํ๊ณ ์ถ์ง ์์ต๋๋ค. (๋ค๋ฅธ ์ถ์ ๊ทธ๋ํ๊ฐ ์์ผ๋ฏ๋ก ์๊ณ ๊ฐ์ ์ฌ์ฉํ๊ณ ์ถ์ง ์์ผ๋ฉฐ ํด๋น ๋ฒ์์ ํผ๋์ ์ผ์ผํค๊ณ ์ถ์ง ์์ต๋๋ค.)
์ด์์ ์ธ ์๋ฃจ์ ์ "์ต์-์ต๋"์ค์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ต์-์ต๋๋ฅผ 100์ผ๋ก ์ค์ ํ๋ฉด ์ถ์ด ๊ทธ๋ณด๋ค ์์์ง์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ํ๋ค๋ฉด ์ฑ์ฅํ ๊ฒ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค, ํฅ๋ฏธ๋ก์ด ์์ด๋์ด์ ๋๋ค. ์ฝ๊ฐ์ ๊ฐ์ฅ์๋ฆฌ ์ผ์ด์ค๊ฐ ๋ณด์ ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋์ํ๋ฉฐ ๋๋๋ก ์ ์ฉ ํ ์ ์์ต๋๋ค.
๋ค, ์ ์๊ฐ์ ์ข ์ด์ ์ ๊ณ ์ถ์์ต๋๋ค. :๋งฅ์ฃผ:
๋๋ ์ด๊ฒ์ด ์ฃ์ง ์ผ์ด์ค๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
AutoScale up์ ์ค์ ํฉ๋๋ค. ์ต์ ๋ฒ์๋ก 0-100์ ์ค์ ํ๋ ๊ทธ๋ํ๊ฐ ์ํ๋๋งํผ ํฌ๊ฒ ํ์ฅ๋๋๋กํฉ๋๋ค. ์ด๋ก ์ธํด ๋๋ ํฐ์ VP๊ฐ ๊ท๋ชจ๋ฅผ ๋ณผ ๋๊น์ง ๋ช ์ฐจ๋ก ํจ๋์ด ๋ฐ์ํ์ต๋๋ค.
+1 ๊ทธ๋ผ ํ๋์์ ์๊ฐํ ํ ๋ง์ ์๊ณ์ด ๋ฐ์ดํฐ๋ 0+ ๋ ธ์ด์ฆ์ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ๊ทธ๋ํ๊ฐ ์ง์ ๋ถํ๊ณ ๋ถ๋ช ํ ํด ๋ณด์ ๋๋ค.
Grafana.net ์ฌ์ฉ์๋ก๋ถํฐ +1.
์ต์ ๊ท๋ชจ๋ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๊ฐ์ ๊ฒฝ์ฐ์ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์ผ๋ถ ๊ฐ์ธ / vpn ๋งํฌ๋ ์ ํด ์ํ (~ 20kb / s)์ด์ง๋ง ์ฌ์ฉ์ 50-100Mb / s์ ๋๋ค. ์ค์ผ์ผ์ 100Mb / s๋ก ์ค์ ํ๋๋ฐ ๋๋ฌ๋ค๋ฉด ๋ชจ๋ฅด๊ฒ ๊ณ , 200Mb / s๋ก ์ค์ ํ๋ฉด 5-10Mb / s ๋ฐ์ ์๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ช ํ๊ฒ ๋ณผ ์ ์์ต๋๋ค.
๋๋์ด ๊ธฐ๋ฅ์ด ์์ฃผ ์์์ ์ฌ๋๋ค์๊ฒ๋ง ์ ์ฉํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์ด๊ฒ์ ์ฝ๊ฐ ํดํนํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ ์๊ฒ ๋ง๋ ๊ฒ์ ์๊ฐํด ๋์ต๋๋ค. ๋ด ํฌํฌ์ ์ปค๋ฐ์ Y-Span ์์๋ฅผ Axes ํญ์ ์ถ๊ฐํฉ๋๋ค.
์ฌ๊ธฐ์ X๋ ์ ์ ๋๋ ๋ถ๋ ์์์ ์ ๋๋ค.
~X Span X around average
=X Span X around current value
>X Span is atleast X
<X Span is clamped to X
https://github.com/thoj/grafana/commit/7dcdccbd42e9f63b7388e439f7194fe7ead8039a
ํ์ํ ์ด์ ์ ์ :
PR์ ๊ด์ฌ์ด ์์ผ์ญ๋๊น?
@thoj ๊ทธ๊ฒ์ ํฐ ์ถ๊ฐ๊ฐ ๋ ๊ฒ์
๋๋ค. ์ผ๋ถ ๊ทธ๋ํ์ ์๊ณ ๊ฐ์ ์ฌ์ฉํ๊ณ ํญ์ ํ์ํ๊ณ ์ถ์ง๋ง ์๊ณ ๊ฐ๋ณด๋ค ํจ์ฌ ๋์ ํฌ์ธํธ๋ฅผ ํ์ํ๋๋ก ๊ทธ๋ํ๋ฅผ ์กฐ์ ํฉ๋๋ค. "> X"๋ ์ฌ๊ธฐ์์ ์ ์๋ํฉ๋๋ค.
@lpalm ๊ทธ๋! ํ ๋ก ์ ์งํํ๊ธฐ ์ํด ํ ๋ฆฌํ์คํธ๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
https://github.com/grafana/grafana/pull/6051 ์์ ๊ตฌํ ๋จ
4.0.x ๋ฆด๋ฆฌ์ค ํธ๋ ์ธ์ ์์ต๋๊น? Y ์ถ ์ค์ ์์ "<"๋ฐ ">"๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ์ง๋ง ์๋ฌด ์์ฉ์ด ์์ต๋๋ค.
๋๋๋ฆด ํ์๊ฐ ์์์ต๋๋ค. ์
๋ ฅ ํ๋๊ฐ >
๋ฐ <
์ ๊ฐ์ ํํ์์ ์ง์ํ๋ ์จ๊ฒจ์ง ๊ธฐ๋ฅ๋ณด๋ค ๋ ์ฌ์ฉ์ ์นํ์ ์ธ ์
๋ ฅ / UI๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ํ์
ํ ๋๊น์ง ๊ธฐ๋ฅ์ ๋๋ ๋ ธ์ต๋๋ค. UI
Y-min๊ณผ Y-max ์ธ์ ๋ณด๊ดํจ์ ๋ฃ์ด๋ ๋ ๊น์?
์๋ ํ์ธ์,
๋๋ ํ์ฐ ํ๋ก์ ํธ ์ ์ ๋ค์ด ๊ธฐ๋ฅ์ ๋ง๋ ๋ด๊ฐ ํญ์ํ๋ ๋ด๊ฐ yMax ์ธํ์ง ์์ต๋๋ค ๊ทธ๋ํ์ ๊ฐ์ ์๊ณ ์ถ์ดํ๊ธฐ ๋๋ฌธ์, yMax ์ธ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ ์์ ๊ฒ์ด๋ผ๋ ์ ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๋ก ์ ๋๋ฌํ๋ค.
yMax ๊ฐ ์ ์ฉํ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํ๊ฑฐ๋ yMax ๋ฅผ minYMax ๋ก ์๋ํ๋๋ก ๋ค์ ์ค๊ณํด์ผํ๋ค๊ณ ์๊ฐํ๋ ์ฌ๋์ด ์์ต๋๊น?
๋ด ๋ง์, ๋ด๊ฐ yMax ๋ฅผ x๋ก ์ค์ ํ๊ณ ์นด์ดํฐ๊ฐ x๋ฅผ ์ด๊ณผํ๋ฉด ํ๊ณ๋ฅผ ์ผ๋ง๋ ์ด๊ณผํ๋์ง ์๋ฌด๋๋ณด๊ณ ์ถ์ง ์์๊น์?
๋ฐฑ๋ถ์จ์ด์์ ๋ yMax๋ฅผ ์ฌ์ฉํ์ฌ 100 %๊ฐ ํญ์ ์ ํํ ๊ทธ๋ํ์ ๋งจ ์์ ์๋์ง ํ์ธํฉ๋๋ค (์์ ํ์์ด ์๋๋ผ๋).
yMax๋ ํ์ํฉ๋๋ค. ์ด๋ ๊ทธ๋ํ๋ฅผ ์๊ณกํ๋ ๋งค์ฐ ํฐ ์คํ์ดํฌ๊ฐ์๋ ์ผ๋ถ ๋ ธ์ด์ฆ ์ ํธ ๋๋ฌธ์ ๋๋ค.
@iksaif ์,ํ์ง๋ง yMax๋ฅผ ์์ ํ์ง ์์๋๋ฉ๋๋ค. ๊ทธ๋ํ๊ฐ 100%
์ด๊ณผํ์ง ์๊ณ ๋์ yMax ๊ฐ 100%
๋๋ฏ๋ก ๊ทธ๋ํ๋ ํ์ฌ yMax ๊ตฌํ๊ณผ ์ ํํ ๋์ผํ๊ฒ ๋ณด์
๋๋ค.
@thoj ์ ๋ขฐํ ์์๋ ๋ฉํธ๋ฆญ์ฒ๋ผ ๋ค๋ฆฌ์ง ์์ต๋๊น? ๋์ ๊ทธ ์คํ์ดํฌ๊ฐ ๊ทธ๋ํ์์ ์ ์ธ๋๋ ๊ฒ์ ์ํ์ง ์์ต๋๊น? ์๋๋ฉด ๊ด์ฌ์ด ์๋ค๋ฉด ์ค์ ๋ก ๊ทธ ๊ฐ์ ์๊ณ ๊ณ์ญ๋๊น?
@Kvistian ๊ทธ๋ค์ ์ด์ ๋๋ฌธ์ 100.02 %๋ฅผ ํ์ํ๋ ์ผ์ด ๋ฐ์ํ๋ฉฐ,์ด๋ฅผ ์ ํ ํ ์ ์๋ค๋ ์ฌ์ค์ด ๋ง์์ ๋ญ๋๋ค.
๋ํ "ํ๋"ํ๊ณ ์ถ์ ๋๋ง๋ณด๊ณ ์ถ์ ๋๋ ์๊ณ ์ด๋ฅผ ์ํด yMax๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ข์,ํ์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋์ yMax ๊ฐ ํ์ํ๋ค๋ ๋ฐ ๋์ํ์ญ๋๊น? ์ด ๊ฒฝ์ฐ yMax๋ฅผ ๋์ ์ผ๋ก ๋ง๋ค๊ณ ์ด๋ฌํ ์์ง ์ผ์ด์ค์ ๋ํด staticYMax ๋๋ fixedYMax ์ ๊ฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ง๋๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๊น? ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์ด๋ฏ๋ก ๋์ yMax ๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ํ ์๋จ์ ํํ์ ์ค์ ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฌ์ง๋ง ๊ธฐ์กด yMax (์ค์ ๋ก ํ์ ํ ์์๋ ์ต๋ y)์ ์๋ฏธ๋ฅผ ๋ณ๊ฒฝํ์ง๋ ์์ต๋๋ค.
์ด ๋ฌผ๊ฑด์ด ๋ค๋ฅธ ์ ์ฌํ ์ํํธ์จ์ด์์ ์ด๋ป๊ฒ ๋ช ๋ช ๋๋์ง ์ฐพ๋ ๊ฒ์ด ํฅ๋ฏธ๋ก์ธ ๊ฒ์ ๋๋ค.
@Kvistian ๋ชจ๋ ์ฌ๋์ด grafana๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ๊น๋ํ ๋ฉํธ๋ฆญ ๋ง ํ์ํ๊ธฐ๋ฅผ ์ํ์ง๋ ์์ต๋๋ค. ๋ ธ์ด์ฆ๊ฐ ๋ง๊ณ ๊ฐ๋ ์ด์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ ํ ์์๋ ๋ฌผ๋ฆฌ์ ํ๋ก์ธ์ค์ ๋ฉํธ๋ฆญ์ ํ์ํ๊ณ ์ถ์ต๋๋ค. ์ฌ๊ธฐ์์ ๋ด ์์ ์ ์ค๋ช ์ ํ์ธํ์ญ์์ค : https://github.com/grafana/grafana/pull/5720
@thoj ์ ์ฉํ ๊ธฐ๋ฅ์ด๋ผ๋ฉด ์ ๊ฑฐํ๋ผ๊ณ ์ ์ํ์ง ์์๊ณ , ๊ทธ๊ฒ์ด ์๋์ง ๊ฐ๋จํ ์ง๋ฌธํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ ์ฌ์ฉ ์ฌ๋ก๊ฐ์๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก์ด ๊ฒฝ์ฐ ์ ๊ฑฐํ๋ฉด ์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ธ์ ์ผ๋ก ๋๋ ๋น์ ์ด ์ญ๋์ ์ธ yMax๋ฅผ ์ํ๋ ๋ ๋ง์ ๊ฒฝ์ฐ๊ฐ ์์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ฐ ๋ฌธ์ ๋ฅผ ์ฐ์ฐํ ๋ฐ๊ฒฌํ์ ๋ ์ค์ ๋ก yMax ๊ฐ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ์ต๋๋ค (์ค์ ์ ์ yMax์ ๋ํ ์ ์ฉํ ์ฌ๋ก๋ฅผ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์). ๊ถ๊ทน์ ์ผ๋ก์ด ์์ ์์ ์ด๋ฆ ์ง์ ๋ฌธ์ ์ผ๋ฟ์ ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด yMax ๋๋ minYMax ๋ผ๊ณ yMax ๊ฐ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ํด๊ฒฐํด์ผํ๋ default
ํจ์์ฒ๋ผ ๋๊ปด์ง๋ค ๊ณ ์๊ฐํ์ต๋๋ค.
์ ๋ ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ์ํ (SOC) ๊ฐ์ ํ์ํ๊ณ ์์ผ๋ฉฐ ์ด๋ฌํ ์ ํ ๋ด์์ ์๋ ํ์ฅ์ ์ ์งํ๋ฉด์ ์ํ ๋ฐ ํํ์ ์ค์ ํ ์์๋ ๊ธฐ๋ฅ์ ์ ๋ง ์ข์ํฉ๋๋ค.
๋ค์์ Y-Max ๊ฐ์ ์ค์ ํ๊ฑฐ๋ ์ค์ ํ์ง ์์์ผ๋ก์จ ๋ด๊ฐ ์ง๋ฉด ํ ๋ฌธ์ ์ ์ด๋ฏธ์ง์ ๋๋ค.
Y-Max ๊ฐ์ ์ค์ ํ์ง _ ์์ผ๋ฉด ๊ทธ๋ํ๋ Y ์ค์ผ์ผ> 100 %์ SOC ๊ฐ์ ๋ณด์ฌ ์ฃผ๋ฏ๋ก ๋ฐ์ํ์ง ์์ต๋๋ค. ์ฆ, ๋ฐฐํฐ๋ฆฌ ์ถฉ์ ์ํ์ ๊ฒฝ์ฐ :
0% <= y_scale_values <= 100%
Y-Max ๊ฐ์ _do_ ์ค์ ํ๋ฉด ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ค๋ซ๋์ SOC ๊ฐ์ด ๋ฎ์ ๋ ๊ทธ๋ํ๊ฐ ์๋ ํฌ๊ธฐ ์กฐ์ ๋์ง ์์ต๋๋ค.
๋ด๊ฐ ์ํ๋ ๊ฒ์ ์ํ (100 %)๊ณผ ํํ (0 %)์ ์ค์ ํ ์ ์์ง๋ง Y ํ๊ณ๊ฐ ์ค์ ๋์ง ์์ ์๊ฐ์ฒ๋ผ ์ด๋ฌํ ํ๊ณ ๋ด์์ ํ๋กฏ ์๋ ํฌ๊ธฐ ์กฐ์ ์ ๊ณ์ ์ ์งํ๋ ๊ฒ์ ๋๋ค.
์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ฟ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์น ์ฌ์ดํธ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์์ผ๋ฉฐ '์๋ํ๋'์ธ์คํด์ค์ ๋ํ ๊ธฐ๋ณธ ์์ค์ ์ํ ํ์ธ ํธ๋ํฝ์ ๊ฐ์ง๊ณ ์๋๋ฐ,์ด๋ฅผ ๊ทธ๋ํฝ์ผ๋ก '๋ฎ์'๊ทธ๋ํ ์ ์ผ๋ก ํ์ํ๊ณ ์ถ์ต๋๋ค (์ : 0.1 ์์ฒญ / ์ด์ด์ง๋ง ์ถ์ ์ต์ 1์ ๋๋ค. ์ฌ์ ํ '์ค์ 'ํธ๋ํฝ์ด ๋์ฐฉํ ๋ ๊ทธ๋ํ ์ถ์ ์๋ก ํ์ฅ ํ ์ ์์ต๋๋ค.
์ต์์ ์ต๋ Y ์ถ ๊ฐ์ ๊ฐ๋ ํดํน์ด ์์ต๋๋ค.
์ํ๋ ์ต์ ๊ท๋ชจ์ ๋ํ Baseline
๋ฉํธ๋ฆญ์ ๋ง๋ญ๋๋ค. ์ฌ๊ธฐ์์ CPU ์๊ฐ์ผ๋ก 1์ ์ ํํ์ต๋๋ค.
๊ธฐ์ค ์งํ์ ๋ํ ์ฌ์ ์๋ฅผ ์ถ๊ฐํ์ฌ ๊ทธ๋ํ์์ ์ฌ๋ผ์ง๋๋กํฉ๋๋ค.
๊ทธ๊ฒ ๋ค์ผ.
์ ์ผํ ๋จ์ ์ ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ ๊ฐ๋ฉด ๊ธฐ์ค์ ์ ๋ณผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
IO ๋์คํ๋ ์ด์๋ ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฝ๊ธฐ ์๋๋ 50kb / min ๋๋ 500MB / min์ด ๋ ์ ์์ผ๋ฉฐ, ๋ช ๊ฐ์ง ์ต์ ์ค์ผ์ผ์ ์ค์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด 100MB / min์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํ๋ฉด ๊ทธ๋ํ์ ์ผ๊ด์ฑ์ด ํฅ์๋ฉ๋๋ค.
+1
๋ถ๋?
@dstensnes GitHub ๋ฌธ์ ์์ด ์์์ ๋ํ ์๊ฒฌ์ ๋จ๊ธฐ์ง ๋ง์ญ์์ค. ์ด ๊ธฐ๋ฅ์ ์ํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ด๊ธฐ ๊ฒ์๋ฌผ์ ๋ฐ์์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค. +1์ ๋๊ธ์ ๋ฌ๋ฉด์ด ๋ฌธ์ ๋ฅผ ํ๋ก์ฐํ๋ ๋ชจ๋ ์ฌ๋์ ๊ด๋ จ ์ ๋ณด์์ด ์๋ฆผ ์ด๋ฉ์ผ์๋ฐ์ต๋๋ค. ๊ทธ๊ฒ์ ๋จ์ํ ๋์ ํํ์ ๋๋ค.
์ข์, ๋๋ ๊ทธ๊ฒ์ผ๋ก ์ด ์์๋ค :) ๋๊ตฌ๋ ๋ฐ์์ ๋ณธ ์ ์ด ์์ต๋๊น? ๋๋ ์ด์ ๋น์ ์ด ๋ฐ์์ ์์ ๋ถ๋ฅ ํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ ์ ์ด๋ ๋ฌด์ธ๊ฐ์ ๋๋ค. ๊ฐ์ฌ
๋๋ถ๋ถ์ ์ฌ๋๋ค์ ์ฌ์ฉ ์ฌ๋ก๋ Y-Min ๋ฐ Y-Max ํ๋ ์์ "์ํํธ ์ ํ"ํ์ธ๋์ ์ถ๊ฐํ์ฌ ๋ค๋ฃฐ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. Y-Max๋ฅผ ๋ค์ ํ์ผ๋ก ์ด๋ํ๋ฉด ํ์ธ๋๊ณผ ๋ ์ด๋ธ ๋ชจ๋์ ์ถฉ๋ถํ ๊ณต๊ฐ์ด ์์ด์ผํ๋ฉฐ ๊ธฐ๋ฅ์ ๊ฝค ์๋ช ํด์ผํฉ๋๋ค. :)
์ด๊ฒ์ด ์ด๋ป๊ฒ ์ฃ์ง ์ผ์ด์ค๋ก ๊ฐ์ฃผ ๋ ์ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฃผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋คํธ์ํฌ ํธ๋ํฝ์ด์ง๋ง ๋๋ถ๋ถ์ ๊ทธ๋ํ์์ "์ฐ"์ผ๋ก ํ์๋ ์์ ๊ฐ์๋ณด๊ณ ์ถ์ง ์์ต๋๋ค.
ํ์ฌ์ด๋ฅผ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์ด๊ฒ์ ์ข์ ๋์ ๋ณด๋ ์ค์ ์ ๋งค์ฐ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
ํ๋์ UI ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด๊ฒ์ ๋ํ ๋ ๋ค๋ฅธ ํด์์ ํ์ฌ Y-low์์ Y-high๊น์ง์ ๋ฒ์๊ฐ ์ฃผ์ด์ง ๊ฐ๋ณด๋ค ์์์๋ ์๋๋ค๋ ๊ฒ์ ์ ์ํ๋ Y ์ถ์ ์ต์ ๋ฒ์ ์ผ ์ ์์ต๋๋ค. ์ด๋ฐ ์์ผ๋ก ๋ ๋๋ y ์ถ์ด ์์๋๊ณ ๋๋๋ ์์น๋ฅผ ์์ ๋กญ๊ฒ ์ค์ ํ ์ ์์ผ๋ฉฐ ๋์์ ์ฐ์ผ๋ก ๋ ๋๋ง๋๋ ๊ฐ์ ์ฌ์ํ ๋ณ๊ฒฝ์ ํผํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ์๋๋ฌ์ด ๋ฐ์ดํฐ์์ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ด๋ฉฐ ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๊ฐ ์๋๋ฝ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
์ง์ง ๋ฌธ์ ๋ ํน์ด ์น ๊ฐ์ด Y ์ถ์ ์ค์ผ์ผ์ ์๊ณก์์ผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ์ฌ๋ผ์ง๊ฒ ๋ง๋ ๋ค๋ ๊ฒ์ ๋๋ค. ์ฌ๋ฐ๋ฅธ ์๋ฃจ์ ์ ๋ณด๋ ๋ฐฉ๋ฒ์ ํ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Y ์ถ ๋ฒ์๋ฅผ ๋์ ์ผ๋ก ํ์ฉํ๋ ๋์์ ๊ทน๋จ์ ์ธ ์ด์ ๊ฐ ๊ฐ์ ํธ๋ฆฌ๋ฐํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ์ํํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ํ์๋ ๋ฐ์ดํฐ์ ํ๊ท ์์ ํ์ค ํธ์ฐจ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฒ์๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํ๊ท ๋ณด๋ค 1 ํ์ค ํธ์ฐจ๋ฅผ ์ด๊ณผํ๋ ๊ฒ๋ณด๋ค 1 ํ์ค ํธ์ฐจ๋ฅผ ์ค์ ํ๋ฉด ๊ทธ๋ํ์์ ์๋ฆฝ๋๋ค. ์ด๊ฒ์ ๊ตฌ์ฑํ๊ธฐ ์ฝ๊ณ ํด๋ผ์ด์ธํธ ์ธก์์ ์ฝ๊ฒ ๊ณ์ฐํ ์ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ์์ค์ ์์กดํ์ง ์๊ณ ์ฌ๋๋ค์ด ์ดํดํ๊ธฐ ์ฝ๋๋ก ํฉ๋ฆฌ์ ์ผ๋ก ์ฝ์ต๋๋ค.
๊ฑฐ์ 2 ๋ ์ ๋ถํฐ :
UI๋ฅผ ์์๋ผ ์๊ฐ์ ๊ธฐ๋ค๋ฆฌ๋ ๊ธฐ๋ฅ์ ๋๋ ๋ ธ์ต๋๋ค.
๋ ๋์ UI๋ฅผ ๊ณ ๋ คํ๋ ๋์ >
๋ฐ <
๋ฅผ ๋ค์ ๊ฐ์ ธ ์ค์ญ์์ค.
2 ๋ ์ ์ญ์ ๋ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ ํ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค!
๋ค๋ฅธ ์์คํ ์์ ๋์ผํ ์ธก์ ํญ๋ชฉ์ ๋๋ํ ๋ชจ๋ํฐ๋งํ๋ ํ ํ๋ฆฟ ์ฐจํธ์กฐ์ฐจ๋ ์ฐจํธ์ ํ์ฌ ๋ฐ์ดํฐ๋ง์ ๊ธฐ์ค์ผ๋ก ์ค์ผ์ผ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์๋ ์กฐ์ ๋๋ฏ๋ก ๋ถ์ ํ ํ ์๊ฐ์ ํจ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ต์์ ์ต๋ Y ์ถ ๊ฐ์ ๊ฐ๋ ํดํน์ด ์์ต๋๋ค.
์ํ๋ ์ต์ ๊ท๋ชจ์ ๋ํ
Baseline
๋ฉํธ๋ฆญ์ ๋ง๋ญ๋๋ค. ์ฌ๊ธฐ์์ CPU ์๊ฐ์ผ๋ก 1์ ์ ํํ์ต๋๋ค.๊ธฐ์ค ์งํ์ ๋ํ ์ฌ์ ์๋ฅผ ์ถ๊ฐํ์ฌ ๊ทธ๋ํ์์ ์ฌ๋ผ์ง๋๋กํฉ๋๋ค.
๊ทธ๊ฒ ๋ค์ผ.
์ ์ผํ ๋จ์ ์ ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ ๊ฐ๋ฉด ๊ธฐ์ค์ ์ ๋ณผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
@bobrik ์ ์ ์ฉํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฝ๋ ์ฌ๋๋ค์ ์ํด ์์ฆ์๋ ์ฌ์ ์์ ๋๊ตฌ ์ค๋ช
์์ baseline
ํญ๋ชฉ์ ์จ๊ธธ ์๋ ์์ต๋๋ค.
@bobrik @ sb3tcs ์๋
ํ์ธ์, ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง Grafana๋ ์ฟผ๋ฆฌ์ ์
๋ ฅ ํ ๋ชจ๋ ๊ฒ์ด 20
๋๋ ๋ค๋ฅธ ์ซ์์ด๋ฉด ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ธฐ์ค ๋ฉํธ๋ฆญ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? ์๋๋ฉด ๋ด Grafana 5.1์ด ๋๋ฌด ์ค๋๋์ด ์ด๋ฌํ ์ข
๋ฅ์ ์ฟผ๋ฆฌ๋ฅผ ์ง์ํ ์ ์์ต๋๊น?
๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์์ ๋ช ๊ฐ์ง ์ฐ๊ฒฐ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ํ๊ฐ y ์ถ์์ ๋ง์ด ํ๋๋๋ ๊ฒ์ ๋ฐฉ์งํ์ต๋๋ค.
์ด ์์์๋ ์ฌ๋ฌ ์๋ฒ์์ ๋ก๊ทธ์ธ ํ ์ฌ์ฉ์๋ฅผ ํ๋์ ๊ทธ๋ํ๋ก ๊ทธ๋ํ๋ก ํ์ํฉ๋๋ค.
๋์ผํ ๋ฐ์ดํฐ ํฌ์ธํธ๋ก ์ถ๊ฐ ์ฟผ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
offset (-20) aggregateBy (1m, min) removeBelowValue (0) setAlias โโ(hidden_min)
์ด๋ ๊ฒํ๋ฉด ๋์ ํ๋ / ์ถ์๊ฐ
์ต์ ์ต๋
...์
min-20 (์์๋ก ๋ค์ด ๊ฐ์ง ์๋ ๋์) ์ต๋ ์ต๋
๊ฐ์ง ๊ทธ๋ํ๋ฅผ ์จ๊ธฐ๋ ค๋ฉด :
์ ๊ท์ "/hidden_.*/"๋ก ์๊ฐํ ์ฌ์ ์
ํ : false
๋ฒ๋ก : false
ํดํ ์์ ์จ๊ธฐ๊ธฐ
์ฌ๋ฌ ๊ทธ๋ํ๊ฐ์ y ์ถ์ ๋๊ธฐํ ํ ์๋ ์์ต๋๋ค. ์๋ฒ ๋น ํจ๋์ฒ๋ผ ๊ฐ ํจ๋์์๋ ๋ชจ๋ ์๋ฒ์ ๋ฐ์ดํฐ ํฌ์ธํธ์์ ์ต์ / ์ต๋๋ฅผ ์์งํฉ๋๋ค.
๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. min ๋ฐ max ํ๊ทธ๋ก min ๋ฐ max timeseries๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๋ผ์ธ์ ์ด๋ ๊ฒ
weather,sensorID=min temperature=0
weather,sensorID=max temperature=20
์์ ๊ฐ์ด ๊ทธ๋ํ์ ์ถ๊ฐ๋๊ณ ์จ๊ฒจ์ง๋๋ค. ์ ์ผํ ๋ฌธ์ ๋ ์ ๊ธฐ์ ์ผ๋ก ์ฃผ์ฌํด์ผํ๋ค๋ ๊ฒ์
๋๋ค.
๋ณด๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ต๋ ์จ๋๋ฅผ 19๋ก ์ค์ ํ์ฌ ์ถ์ 20์ผ๋ก ์๋ ์กฐ์ ํด์ผ ํ ์ ์์ต๋๋ค.
ํธ์ง : ์ต๋ 19๋ฅผ ์ฝ์ ํ๋ฉด ์๋ํฉ๋๋ค.
Grafana์์ ์ ์ฐํ y-max๋ฅผ ์ค์ ํ๋ ์๋ฃจ์ ์ ์ฐพ๊ณ ์๋์ด ์ค๋ ๋๋ฅผ ์ฐ์ฐํ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ ์ฌ์ฉ ์ฌ๋ก์์๋ API์ ๋ํ ์์ฒญ ์ง์ฐ ์๊ฐ๊ณผ ๋ณผ๋ฅจ์ ๊ทธ๋ํ๋ก ํ์ํ๊ณ ์์ต๋๋ค. ์ ์ฐํ y-max๋ฅผ ์ฝ 500ms (.5 ์ด)๋ก ์ค์ ํ์ฌ ๋พฐ์กฑํ ์ด์ ๊ฐ์ ์ ์ธํ๊ณ ์ต๋ ์ง์ฐ ์๊ฐ์ด ์๋์์์ ๋ y-max๋ฅผ ์๋ ์กฐ์ ํ์ฌ ์ง์ฐ ์๊ฐ์ด ์งง์ ํธ์ถ์ ๋ํ ๋์์ค๋ฅผ ๋ ์ ๋ณผ ์ ์๋๋กํ๊ณ ์ถ์ต๋๋ค. ๊ทธ ์๊ณ ๊ฐ.
์ค์ ์ ์๋ํ์ต๋๋ค : y-min์ 0์ผ๋ก y-max๋ฅผ <.5๋ก ์ค์ ํ์ง๋ง ๋ด y ์ถ์ด ์์ ํ ์ฌ๋ผ์ง๊ฑฐ๋ y-min์ ๋ฌด์ํฉ๋๋ค. ์ด ๋ฌธ์ ๋ ์ง์ฐ ์๊ฐ ๋ฐ ์์ฒญ ๋ณผ๋ฅจ ์ฟผ๋ฆฌ๋ฅผ ํจ๊ป / ๋ณ๋๋ก ๊ทธ๋ํ๋ก ํ์ํ๋ ๊ฒ๊ณผ ๊ด๊ณ์์ด ๋ฐ์ํ์ต๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด ์๋ก์ด ์ง์ ์ด ์์์ต๋๊น? ์ฐ๋ฆฌ ํ์ ์ ๋ง ๋์์ด ๋ ๊ฒ์ ๋๋ค.
y-max๊ฐ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑ๋ ๊ทธ๋ํ์ ์คํฌ๋ฆฐ ์ท ๋ช ๊ฐ๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค (๊ฐ ์ผ์ด์ค๋ ๊ทธ๋ํ ์ ๋ชฉ์ผ๋ก ํ์๋จ).
500ms ์ด์์ ๊ฐ์ ๊ทธ๋ํ๋ก ํ์ํ์ง ์์ผ๋ ค๋ฉด removeAboveValue (0.5)๋ฅผ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ null ๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ทธ๋ํ์ ์๋ ค์ค๋๋ค.
์ด ํจ์์ ๋ํด ๊ณ์ฐ ๋ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ๋จ์๊ฐ ์์ต๋๋ค.
์ฝ๊ฐ ๋ ์ต์ ์ ๊ธฐ๋ณธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด๋ ๊ฒํ๋ฉด ๊ทธ๋ํ, ๋ฒ๋ก ๋ฐ ํธ๋ฒ ๋๊ตฌ ์ค๋ช ์ ๋ํ๋๋ ๊ธฐ์ค ์ฟผ๋ฆฌ๊ฐ ์ค์ง๋๊ณ ์คํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ ์ค์ ๋ก ์ฃ์ง ์ผ์ด์ค๊ฐ ์๋๋ผ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ๋๋ค. ์ ๋ ์ค์ ๋ก "๋ถ๋๋ฌ์ด"์ต์ / ์ต๋ ๊ฐ์ ๊ฐ์ง y ์ถ์ ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. y ์ถ ๋๊ธ์ ์ค์ ํ๋ ์ฃผ๋ ์ด์ ๋ ์์ ๋ฐ์ดํฐ ๋ฒ์์ ๋ง์ถ๊ณ ๊ฐ์ ์ฝ๊ฒ ๋น๊ตํ ์ ์๋๋ก ์ ๋ ฌ ๋ y ์ถ์ด์๋ ์ฌ๋ฌ ๊ทธ๋ํ๋ฅผ ๊ฐ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด ๋ฌผ๊ฑด์ด ๋ค๋ฅธ ์ ์ฌํ ์ํํธ์จ์ด์์ ์ด๋ป๊ฒ ๋ช ๋ช ๋๋์ง ์ฐพ๋ ๊ฒ์ด ํฅ๋ฏธ๋ก์ธ ๊ฒ์ ๋๋ค.
Highchartjs๋ ๊ทธ๊ฒ์ softMin / softMax๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
https://api.highcharts.com/highcharts/yAxis
AnyChart๋์ด๋ฅผ ์ํํธ ์ต์ / ์ต๋๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
https://docs.anychart.com/Axes_and_Grids/Scales#soft
Chartjs์๋์ด ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฒ๋ฆฌํ๊ธฐ์ํ "suggestedMin / Max"์ต์
์ด ์์ต๋๋ค.
https://www.chartjs.org/docs/latest/axes/cartesian/linear.html#axis -range-settings
amCharts๋์ด๋ฅผ ์ต์ / ์ต๋ ๋ฐ strictMin / ์ต๋๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
https://www.amcharts.com/docs/v4/reference/valueaxis/#strictMinMax_property
์๋ฅผ ๋ค์ด RRDtool์ ์๋ ํฌ๊ธฐ ์กฐ์ ์ ์ฌ์ฉํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก "์ํํธ"์ ํ์ ๊ฐ์ง๋ง, "ํ๋"์ ํ์ ๊ฐ์ ํ๋ rigid
๋ผ๋ ์ต์
์ด ์์ต๋๋ค.
[-u |-์ํ๊ฐ] [-l |-ํํ๊ฐ] [-r | --rigid] [--allow-shrink]
๊ธฐ๋ณธ์ ์ผ๋ก ๊ทธ๋ํ๋ ๋ฐ์ดํฐ ๋ฒ์์ ๋ง๊ฒ y ์ถ์ ์กฐ์ ํ๋๋ก ์๋ ํฌ๊ธฐ ์กฐ์ ๋ฉ๋๋ค. ์ ํ์ ๋ช ์ ์ ์ผ๋ก ์ค์ ํ์ฌ์ด ๋์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ํ์๋ y ์ถ์ ๋ฒ์๋ ์ต์ํ ํํ์์ ์ํ๊น์ง์ ๋๋ค. ๊ณ ์ ์ต์ ์ด ์ค์ ๋์ด ์์ง ์์ผ๋ฉด ์๋ ํฌ๊ธฐ ์กฐ์ ์ ํตํด ํด๋น ๊ฒฝ๊ณ๋ฅผ ๋๋ฆด ์ ์์ต๋๋ค. allow-shrink๋ ์๋ ์ถ์๋ฅผ ํ์ฉํ์ฌ ๊ฐ์ฒด์ ๋์์ ๋ณ๊ฒฝํ๋ฉฐ ๊ทธ๋ํ๋ ์ฌ์ฉ์ ์ง์ ์ ํ์ ์ด๊ณผํ์ง ์์ต๋๋ค.
https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html
Tableau์๋ ๋ชจ๋ ํ ๋๋ ์ด์ ๋ํด ๊ท ์ผ ํ ์ถ ๋ฒ์๋ฅผ ํ์ฉํ๋ ๊ธฐ๋ฅ์ด ์์ผ๋ฉฐ, ์๋ฅผ ๋ค์ด y ์ถ์ ๋ํด์๋ง ๊ทธ๋ ๊ฒํ๋๋ก ์ ํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ฝ๊ฐ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง ์ฌ๋ฌ ์ฐจํธ๊ฐ ๋์ผํ ์ถ ๋ฒ์ / ์ค์ผ์ผ์ ๊ฐ๊ธฐ๋ฅผ ์ํ๋ ๊ฒฝ์ฐ๋ ์ฌ์ ํ ๋์ผํ ์ฌ์ฉ ์ฌ๋ก์ ๋๋ค.
์ด์ ๋ํ ๋ง์ ๋ ผ์๊ฐ ์ค์ผ์ผ๋ง์ ์ํด ๋ณ๋์ ์ํํธ ์ต์๊ฐ๊ณผ ์ต๋ ๊ฐ์ ๊ตฌํํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ๊ณ ์์ง๋ง,์ด ๋ถ๋ถ์ ์ผ๋ถ๋ก "์ต์ y ์ถ ๋ฒ์"๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ๋ง์ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. "์๋ณธ ํฌ์คํฐ์์ ์ ์ํ ์ต์ / ์ต๋. ์ํํธ ์ต์๊ฐ๊ณผ ์ต๋ ๊ฐ์ ์๋ ํฌ๊ธฐ ์กฐ์ ์ค์ ํญ์ ํ์๋์ด์ผํ๋ y ์ถ์ ๊ณ ์ ์์น๋ฅผ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํญ์ ํ์ํ๊ณ ์ถ์ ์๋ ค์ง ๋ฒ์์ y ์ถ ๊ฐ์ด์์ ๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์๋ ํฌ๊ธฐ ์กฐ์ ์ ํ๋ / ์ถ์ ํจ๊ณผ๋ก ์ธํด ๊ณผ์ฅ๋ ํผํฌ ๋ฐ ์ต์ ์ ์ผ๋ก ๋ํ๋๋ ์์ ๋ถ์ฐ์ ๋ฐฉ์งํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋์์ธ ํ์์ ์ด๋ฌํ y ์ถ ๊ฐ์ด ๋ฌด์์ธ์ง ์๊ณ ์๋ ๊ฒฝ์ฐ์๋ง ์๋ํฉ๋๋ค. ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋๋ค. ํนํ ํ๋์จ์ด์๋ก๋ ํจํด์ด ๋ค๋ฅธ ์ต์ข ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ํ ํ๋ฆฟ์ ๊ตฌ์ถํ๋ ์ฌ๋๋ค์๊ฒ๋ ๊ทธ๋ ์ต๋๋ค.
์๋ ํ์ฅ์์ํ ์ต์ y ์ถ ๋ฒ์ ์ต์
์์ด ์๊ตฌ ์ฌํญ์ ์ ๊ฑฐํฉ๋๋ค. ๋ฐ์ดํฐ ๋ฒ์ (์ : abs(max(Y)-min(Y))
)๊ฐ ๊ตฌ์ฑ๋ ์ต์ y ์ถ ๋ฒ์๋ฅผ ์ด๊ณผํ์ง ์๋ ๊ฐ ์งํฉ์ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ y ์ถ์ ์ต์๊ฐ ๋ฐ ์ต๋ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์์ง์ผ๋ก ์ค์์ ์์นํฉ๋๋ค. ์ด๋ ๊ฒํ๋ฉด ๊ทธ๋ํ ๋์์ด๋๊ฐ ์ ํํ y ์ถ ๊ฐ์ ๋ฏธ๋ฆฌ ์ ํ์์์ด ์์ ๋ถ์ฐ์ด ๊ณผ์ฅ๋๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์ง ํ ์ ์์ต๋๋ค.
๊ณ์ฐ์ ๋ณด์ฌ์ฃผ๋ ๊ฐ๋จํ ์์ฌ ์ฝ๋ :
minRange = 25
dataRange = abs(max(Y)-min(Y))
if dataRange < minRange:
yAxisExtension = (minRange - dataRange) / 2
yAxisMin = min(Y) - yAxisExtension
yAxisMax = max(Y) + yAxisExtension
์ด ์ ๊ทผ ๋ฐฉ์์ ํ๊ท ์ ์ค์ฌ์ผ๋กํ๋ ๊ฒ์ฒ๋ผ ์ด์ ๊ฐ์ ์ฒ๋์์ ๋ฐ์ด ๋ด์ง ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก์ ์๋ก NUT / upsd์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ์ํ ๋์ ๋ณด๋๋ฅผ ๋์์ธํ๊ณ ์ ๋ ฅ ์ฌ์ฉ๋ ๊ทธ๋ํ๋ฅผ ์์ฑํ๋ค๊ณ ๊ฐ์ ํด๋ณด์ญ์์ค. ๋ด UPS๋ ํ๊ท 400W ์ผ ์ ์์ง๋ง ๋ค๋ฅธ ์ฌ๋์ ํ๋์จ์ด ์ค์ ์ ๋ฐ๋ผ ํ๊ท 100W ๋๋ 1000W ์ผ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ฏธ๋ฆฌ ์๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง ์๋น๋๋ ์ ๋ ฅ์ ์์ ์ผ๋ฐ์ ์ผ๋ก ์งง์ ์๊ฐ ๋์ ์๋นํ ์ผ์ ํฉ๋๋ค. ์ฆ, ์๋ ํ์ฅ์ด ์ํ ๋ ๋ y ์ถ์ด ๊ณผ์ฅ๋๋ ๊ฒฝํฅ์ด ์์์ ์๋ฏธํฉ๋๋ค. ์ด๋ ์ต์ y ์ถ ๋ฒ์์ ๋ํ ์๋ฒฝํ ์ฌ์ฉ ์ฌ๋ก๋ก, ์ฃผ์ด์ง ๊ธฐ๊ฐ ๋์ ๋ถ์ฐ์ ์ฒ๋์ ๋ํด ํฉ๋ฆฌ์ ์ธ ๊ฐ์ ์ ํ ์ ์์ง๋ง ์ ๋ ๊ฐ์ ํฌ๊ธฐ๋ ์๋๋๋ค.
์ผ์์ ํด์๋๊ฐ ์ ํ๋ ๊ฒฝ์ฐ ์ ํํ ์๊ฐ ๋ฒ์์์ ์๋์ด ๊ฑฐ์ ๋ณํ์ง ์๋ ๊ฒฝ์ฐ ์์ํ ๋
ธ์ด์ฆ ๋ง ํ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๊ทธ๋ํ์์์ด ์์ํ ๋
ธ์ด์ฆ๋ฅผ ๋๋ฌด ๋ง์ด ์ฆํญํ์ง ์๋๋ก ์ต์ y-span์๋ณด๊ณ ์ถ์ต๋๋ค.
์ผ์ชฝ ๋ฐ ์ค๋ฅธ์ชฝ y ์ถ ๋ชจ๋์์ y ๊ฐ ๋ฒ์๊ฐ ์์ ๊ฒฝ์ฐ ํ y ์ถ์ ์ค์ฌ์ ์์ชฝ ์ ๋ฐ์ผ๋ก, ๋ค๋ฅธ y ์ถ์ ์ค์ฌ์ ์๋์ชฝ์ผ๋ก '๋์ง'ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ ๋ฐ. ๋ถํ์ํ ์ผ์ชฝ / ์ค๋ฅธ์ชฝ Y ๊ฐ ๊ต์ฐจ๋ฅผ ์ต์ ํฉ๋๋ค. ๋ฌผ๋ก ๋ ๊ฐ์ Y ์ถ์ด ๋์ผํ ์์ ํ์ํ๋ ๊ฒฝ์ฐ ์ถ์ ์ด์ ๊ฐ์ด ๋ฐ์ด์๋ ์๋์ง๋ง ์ด๋ฏธ 'y ์ถ ๋๊ธฐํ'์ต์
์ด ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ฑฐ์ 2 ๋ ์ ๋ถํฐ :
๋ ๋์ UI๋ฅผ ๊ณ ๋ คํ๋ ๋์
>
๋ฐ<
๋ฅผ ๋ค์ ๊ฐ์ ธ ์ค์ญ์์ค.