From 55352744e1b3fd8999cc714d44ddfcaf43281993 Mon Sep 17 00:00:00 2001 From: GDWR Date: Sat, 3 Feb 2024 17:27:05 +0000 Subject: [PATCH] Add CPU parsing and reformat metrics for ease of use --- assets/dashboard.webp | Bin 35982 -> 87116 bytes cmd/jetson_exporter.go | 141 ++--- .../grafana/dashboards/jetson-exporter.json | 545 +++++++----------- pkg/tegrastats/parse.go | 12 + pkg/tegrastats/tegrastats.go | 7 +- 5 files changed, 267 insertions(+), 438 deletions(-) diff --git a/assets/dashboard.webp b/assets/dashboard.webp index fc4c9b3c84b845fa251f1e3beb2f76bf4708d16f..7c39f45cf2b72bf6e984a42826d521c27f4fea5f 100644 GIT binary patch literal 87116 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 K{>|~f=l=rdSYWIG literal 35982 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 )3ivWdq zK*vKUZV!pqS|xZ$6Xwwvb7}tk2R#TD_CF*gU^ev}AsMOB&E#T-lS~oqWk~OelIi30 z#3$_F>k)~2+XkpB^UKLL&DzV8VeEY_-pBk}oyV`2VN#==-hZG#W93Se+N*(h4Zw@6 zw0BIA%2(u|(^5MVj-%$$cv)a^E70Y?aM8x0G}6+>B5numnmKCk--PEp8*ZNA+;T7F zBX*#Fwiq7t*u00)P=vTASrqVJqb+@zkF1&ZfL$cNUB8pu)AbKOjxO69PdR{_@jp6d zbnq=l4H^G_##qL2R`Cd1QZ;1+<&eSp5-+j4-BGi>Mrfi%`s^?Jv=7<|Xdp7>h}hMf7 z1fDHmZO@2{iPjA#Ht%kMpkWU=4V3nc27D`Lb84w%B4WjTdG@fD3N$yg5SN)KfTv4H z;{~N4-%Cw@SReF*4l?QddW+MwE9uqhVe~Lm9_C*l7Ok*^@|2Y~Ay?Jil^ZdhfX8Ez zD<8)Xm_!afwWq{j>W>9k(4kP|db+|!nVft_JrLd9Me{?=9;S#HcM@M|)F0#bKzhVM zV9FhjgaU!fEU{uAKM;Qc*_QPecVwV(<^KV$#XqGWcXeWH0pGq zqg-c)gz-Ms`gG%>8kMFVT7S75F2hT$W6uZEnp4_}JR7(8SQ2Wb#PXg?xZ(Hu;YT%N z`0>poLg!p_LpUzPnePQM`OV-i&cupzqqJiMGKh)n$8y8(B4{{E`2yoO!3$b2yhC_; z>gd6@i&4?F4k8pFxee~NmK(@Ldo@WK|8@M#-FsIr-<2cM0~1v6U@IQvB1Oj`qapvZ zby=Su{UXRK)yr21x}uunxt0gPPV4@bE~lTE?`JPYuy_h%dEuq;i_BIB zN@aldO^3li$-J!0unJVY9SRqK-@{fHY&L$^dtDgVrD=B&Qwr=jhRuPl?ne5)2M;Ym z&Kjt!HQbfr-F66%^xmbfOUpjysm$# zj3fJCaQ9fzO{lYD-pxsBVAvZ}*4FY}H4OWlWTG0?tK}>+Nv|wUS2mriGGgD<#k@>@ zLpAp}r`41Fiud*Pd(pa+X6e2A5d#{1f~6?hogBwfodK)U0-~- zXo1pQ?Xv*jNZhd}ME#Sh2c{y;^H6`N`lM^}dMsgcG?>Rr!vjfz7ZN-bP z6;hy$?!kmdppFh(HUnRZeVW;#gop47p+Ua#k@26{@nED{~-4Xrb322;D)&8Vd7pJxIVXylE|#d0;EM2&1^t zVfzR{gm?8bQ5pgpp*du&0WsI1TL;QF2rDNJ=B?s4G8pkI1k9n2Pe@J(bk~rSq#SG5 zHbN2^sD{}~d}BNmtFig1*5Z7|zO!ZhV1Ids)9-@9=DfJ4sGopyK2Ys zM|&exT?Z~G-9NtfYv-ktm&DpW`v_fQxOJoK2?Vn9jn{u-XhYi0Rws@plk-`CvqOG;euHWU>3zqp6Zi}D zv}b3Z3-2Jz09PTvoN*jRHdp@e>%8St8$;Fk&7l9S{^d?v^mk+1{Ok<=&hkA6tXgE- z^(gV6^Ka*KZHy5~ax(hMS=d5eIBoKBR=-V#cWvEONWGO2w`HeYdEj!@mRibo-l^#N z-{y_(qpYNESuF#Nh9EB&3G6<<9f`EOoIg#4{qV#d>PJ=VRnRIzEUr;6>rWNPLUq+u z#zJ}H2-cv46`)9xj;Z+MEiK7Hzr9q~pCbNLY*!?Tpliuo+a4bu`AA=l;AD^aCMg7X zp^{|rR5)J(l{L)vcNx9?RQvNY?KpAOPM*KMYBuqTv>%}&DhN-wU{iy_!)2RQtX*aV zKzNRKaypcR$n4rbK=kDkxEvY^_JFr*c~=LGjGj~+ezu0>vB+R3(o0k$4R?g91|X>! zh}J0(UJqn75(_~JrZJF$-@)l4!!q0n25oTFlPWoTvm4^P%7@K|yo6R^SiR`ZrLh@5 zY=nw>SY_ZuP7<7-l|{tbx!zRI7y=sX%f^&vVJ9;iX?HU0iI8FF>Qe$gVkPxq&|!5S z&%nivZ|S1GYT}oNYnRe-ith*AOPEk2Y$Z0YUZ*FGMx`3jr6lA6ZzVDNZx>R>=n|?S%_q` z!g73QUtoA{n>Pc4^l0xOzS0(r5pIgHlvxfr)d22U^0PBJXL6)%e@<<4qh~VzYBugj ztg+8&>oL4+oUQ=4o-K_pJwW~!r%d@a>o&wZCf)Do{XkPTP2MD@Zt}>Ef+o=xzdG6i z_MnIPV_>_CTP*>;?L=z_r4K3FA5f*l8W1mcTsH#a7NNoX^ZP`36>1OX`^e-XJe1VXB4}%y+TFu^F)FVf(N@6M)Q1k7^wT z53>1AsPAaK z@6;TpOz=?}*sXZ}z5$=h!M%3`5~ucfrOgg36e8mV&kHlN8vz(si~b)9=7T0O{ASmrqoruld;B8oduI^n!j^PyM2B85WQ=eWD2yj zhd493rnrf5PDB0jA&w&*Za3ZOJdN^wp^nYDmmuKB#r;9=*Zh+cP}Bi>{akG~bBHmY z12M08PD5-P$Vxf3XUeaWaNZ1@P>4Dp4F2~HC!DBsN_Z5DX#u~8okdtj^b0JCs%&pP z(1t`7@;iKcvO!o+-ExsQa7@UP0cP^PT>>TkOX}sFAc2q&qtC0(Sev?)6e*CD!y&_+Y<1f{lTs}shnqMgJ9 zg^%1H*Q6W+eQT}W9YN@xRAzckU8BfjtYvTbdrAM0&o>b9c+@Q!@=`F z_{|Zzl1WEoW~Q?D3W?~=D`TR0Ww3|gi8LjmOOanYx-`;12wE1$G1g`A;rD2q6PEj# z6@}bOw_sX>#psZeAJmVOg_8~6q-0H7sXeRXC;{ccNuZ0$}VI* zZSnxm_j1R*I!@94-3|1EjGrf#Nco@~mh1w5N7 z4>mAPoaB^keiZ`&akeB%6q=;V?&d{_KH?2z*tn7`x?qic&%(FuH1;iaHf-*R`8A?k zNcwASwsXb#{L!0dP3VQi5{x>tm^ZJw6ik#(so1fCbz^^fR=Wm$6Z(Q4=a$cjUbvYi z3sbt8Co@+|ZK9I19e48$7-ugc<_(ErygE3>l+b)=&+y{C_d_j@_L_ z&$e)E+s-de$F^ZUtq6VtE%Q+yK2tbfnV2q zm3$k?iV4YT#lM6Nl1y}&DpsYfUo4Mkn|M=6&Ki6MTVgV;v0%NhSdvDIIf+;DGT_E4 z1xr1AXL}iK3VO28%+6;~L`#j3Kp?GGsR#0&>}bMI!B|sd+YXaD({1K>v5SYgow7GT zqfOhD0b5;FLvdYK%g1!9i*s&ubbqR^yE#NEoIuw#$=O)H5Qe6}ThtpLQ9>v4a@?13 zE}2~{)V0-qtM{;iUy@+pCW&oz@xHUSy();#xdV(FL__h) z*3lp3_IbGfh8D|{yk$s{x-pcIuJQM1haQ_dg<{JO1MmCdIIlLkPeKP@R!g@QMIED1 zeLbhMyo7+;bP!6*F)c0~3fA1|q5qZVg~0JRSr6KyAdA%$xT#y)j2$8`QA<~b`X^`B zM~M|8UxoJX(7u=)lV^YxP4Ivl>PJ6q2J)aDtM~KoKqRPF!OeLYAVkR7rFw&xoIyF4 zJJM`IjH5RyLiC*j^PH*8a8)~*g(yLG2OazqoG*M7pSgsVn6}H3qR5-~Pl`41yeIQhR{TO) z@rb{WPgfup>_RYf>la>}b8PR@@G~fPZ>+EED|Q`kk@xKYYQc@Jec#m@<^r-g>|q}e z5U>eTQ*?pD6>a=mgV12e7uLx4R=>Yp#bk)WUU$qKIb9v_!FM?>1NeUIE0`qM{&a}a zav%|XuM?sKo+B6QKf*+yABMexgzAZ$uU;oKcWTEg;-NySht*~|#81DVQ7{`orb6U# z-t2+&Y#4f=iM#o{oX7q3@l{=Qj7-dtd0T~vGpd_Nd|@r|OFY%&{_ku=u*Ny26Ybik zN0DeT7t6Abz8&`XXJyz|@ugiQ6}&|LOEr^Ib)O~VW2*A10;r9d38^18k7IO^v>Q|S zjFrPbdI_2>h_lY*njiQxN0$pqSFbHkWw)I$cL|R_FsO*6BZ1H9Z8-r({iFYHvhnD$ zWvkz}JM5P*U&%P!05wLPl;YiIl>RdC3_d6E#CvFodJdY<7^)eSu*(?5rk*W<`o0l_I8Ea@w|eKd=5?{SlFR>4Uaa;R zAQm&$(*h2(yPKRh3n=Vl04laCX>Xhzc$~uVd#8)08tj%Vf=WlQ&Vs&W44jBV6xRH9 zk!e$l5!G8xkLm+UgVNt^v(Eh5d`Br+gnTJP-fC>VR6!sXkEOnh>AEFtpbn{5cDSPN z6_0?gBhZ6T-izdU@UxKEm~%e}p zy4oL!SsH7MW(b}Fuplz4yEI3LK%5F&qhTX_gxRy7}cltZ(bWx;WEF$76tLQ?-5BRsF}QXPJ;@o`HNY1LvUss%j|bA+cl zZ5(Ysb@mMyx*bXr$Yz8MN8~x>8OkP(B5(a&%F<}#)88>&GH{3r81TG`U%L}w{z1Jd zYjt{%{wxFwDY4bJKAY>TnWlVjuk`S03OdxJ{ifuizo($KPr)O|{#r8OZ=+a92a|oC z;U<0c;3$rYKM=aRQTpX12?X*~rrW@;=2g}=V$pi{wZ)~g$AtT7qL3!L^FD>cCV&iv zndK4_W|49$l(Gpk;XvUvkLo49`0f7Kc3?Z4#H0tfc4BPBJ(na_)&ukUByM1qh zs)!lgLa38}Gkng@&ZIzphn^A2m`06~9K%k(5EI3%g!rPg4Jvb{6a>1JdEj6~>4Ifk zM%;p#ct0Rodc3M_@Iuun(Y3unud3XYU}byFm zm6SvK0($98F&vQ7H@zvRQB};WKepXuXi#wYCn7%#IqTa`C9o06xI*~qV=dlb9t?uS zLdc1`P7bhk@f0D+#qjsFM(oS;dUp!@<*-tMn%S@RG|!7tcxz5R@FC-}1UU6EahO|3 z-N=?Ke|?smVv%ch#iM%9_R);!{JjGZMZijb{>GDzQhr?W6)GfuM~UhQZ;brC3J3`z z!xl;OKwP-OPnz~s2kC}=!>4hw8p?!`RWaxOiDtsGAwa=Bhc5R&4MsC+%|9u@7Klu| z&knB7b(r?39c2t%H2ge&H3p$_La&Goi@wbJnBwR!L3KGPgX{6l(glV22cYnJb7Sl; zM65Pt`6v_RNZY$1Fkh!K3xG=wt@1~?iOU}2iSBAHn^9m(lmdy0%0DT*iX_P|Bjt8v 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 E09@rm@c;k- diff --git a/cmd/jetson_exporter.go b/cmd/jetson_exporter.go index 7b4b389..9a55c39 100644 --- a/cmd/jetson_exporter.go +++ b/cmd/jetson_exporter.go @@ -13,81 +13,40 @@ import ( "github.com/gdwr/jetson_exporter/pkg/tegrastats" "github.com/go-kit/log/level" "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/client_golang/prometheus/promauto" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/common/promlog" webflag "github.com/prometheus/exporter-toolkit/web/kingpinflag" ) var ( - ramUsageMegabytes = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_ram_usage_megabytes", - Help: "The current RAM usage in megabytes", - }) - ramMaxMegabytes = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_ram_max_megabytes", - Help: "The maximum RAM in megabytes", - }) - swapUsageMegabytes = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_swap_usage_megabytes", - Help: "The current SWAP usage in megabytes", - }) - swapMaxMegabytes = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_swap_max_megabytes", - Help: "The maximum SWAP in megabytes", - }) - swapCachedMegabytes = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_swap_cached_megabytes", - Help: "The current SWAP cached in megabytes", - }) - emcFreqPercent = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_emc_freq_percent", - Help: "The current EMC frequency in percent", - }) - gr3dFreqPercent = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_gr3d_freq_percent", - Help: "The current GR3D frequency in percent", - }) - cpuTempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_cpu_temp_celsius", - Help: "The current temperature of the CPU in celsius", - }) - tboardTempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_tboard_temp_celsius", - Help: "The current temperature of the T(egra)Board in celsius", - }) - soc2TempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_soc2_temp_celsius", - Help: "The current temperature of the SOC2 in celsius", - }) - diodeTempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_diode_temp_celsius", - Help: "The current temperature of the diode in celsius", - }) - soc0TempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_soc0_temp_celsius", - Help: "The current temperature of the SOC0 in celsius", - }) - cv1TempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_cv1_temp_celsius", - Help: "The current temperature of the CV1 in celsius", - }) - gpuTempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_gpu_temp_celsius", - Help: "The current temperature of the GPU in celsius", - }) - tjTempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_tj_temp_celsius", - Help: "The current temperature of the TJ in celsius", - }) - soc1TempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_soc1_temp_celsius", - Help: "The current temperature of the SOC1 in celsius", - }) - cv2TempCelsius = promauto.NewGauge(prometheus.GaugeOpts{ - Name: "tegrastats_cv2_temp_celsius", - Help: "The current temperature of the CV2 in celsius", - }) + tegrastatsTemperature = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "tegrastats_temperature_celsius", + Help: "temperature in celsius gathered from tegrastats", + }, + []string{"component"}, + ) + tegrastatsRam = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "tegrastats_ram_megabytes", + Help: "ram metrics in megabytes gathered from tegrastats", + }, + []string{"type"}, + ) + tegrastatsSwap = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "tegrastats_swap_megabytes", + Help: "swap metrics in megabytes gathered from tegrastats", + }, + []string{"type"}, + ) + tegrastatsCpu = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "tegrastats_cpu_percentage", + Help: "cpu metrics in percentage gathered from tegrastats", + }, + []string{"core"}, + ) ) func main() { @@ -104,6 +63,11 @@ func main() { kingpin.Parse() logger := promlog.New(promlogConfig) + prometheus.Register(tegrastatsTemperature) + prometheus.Register(tegrastatsRam) + prometheus.Register(tegrastatsSwap) + prometheus.Register(tegrastatsCpu) + level.Info(logger).Log("msg", "Starting jetson-exporter", "tegraPath", *tegrastatsPath) go func() { @@ -133,23 +97,28 @@ func main() { continue } level.Debug(logger).Log("message", "updating metrics") - ramUsageMegabytes.Set(float64(stats.Ram)) - ramMaxMegabytes.Set(float64(stats.RamMax)) - swapUsageMegabytes.Set(float64(stats.Swap)) - swapMaxMegabytes.Set(float64(stats.SwapMax)) - swapCachedMegabytes.Set(float64(stats.SwapCached)) - emcFreqPercent.Set(float64(stats.EMCFreq)) - gr3dFreqPercent.Set(float64(stats.GR3DFreq)) - cpuTempCelsius.Set(stats.CpuTemp) - tboardTempCelsius.Set(stats.TBoardTemp) - soc2TempCelsius.Set(stats.SOC2Temp) - diodeTempCelsius.Set(stats.DiodeTemp) - soc0TempCelsius.Set(stats.SOC0Temp) - cv1TempCelsius.Set(stats.CV1Temp) - gpuTempCelsius.Set(stats.GpuTemp) - tjTempCelsius.Set(stats.TjTemp) - soc1TempCelsius.Set(stats.Soc1Temp) - cv2TempCelsius.Set(stats.CV2Temp) + + tegrastatsTemperature.WithLabelValues("cpu").Set(stats.CpuTemp) + tegrastatsTemperature.WithLabelValues("gpu").Set(stats.GpuTemp) + tegrastatsTemperature.WithLabelValues("tboard").Set(stats.TBoardTemp) + tegrastatsTemperature.WithLabelValues("diode").Set(stats.DiodeTemp) + tegrastatsTemperature.WithLabelValues("tj").Set(stats.TjTemp) + tegrastatsTemperature.WithLabelValues("soc0").Set(stats.SOC0Temp) + tegrastatsTemperature.WithLabelValues("soc1").Set(stats.Soc1Temp) + tegrastatsTemperature.WithLabelValues("soc2").Set(stats.SOC2Temp) + tegrastatsTemperature.WithLabelValues("cv1").Set(stats.CV1Temp) + tegrastatsTemperature.WithLabelValues("cv2").Set(stats.CV2Temp) + + tegrastatsRam.WithLabelValues("usage").Set(float64(stats.Ram)) + tegrastatsRam.WithLabelValues("max").Set(float64(stats.RamMax)) + + tegrastatsSwap.WithLabelValues("current").Set(float64(stats.Swap)) + tegrastatsSwap.WithLabelValues("cached").Set(float64(stats.SwapCached)) + tegrastatsSwap.WithLabelValues("max").Set(float64(stats.SwapMax)) + + for _, cpu := range stats.Cpus { + tegrastatsCpu.WithLabelValues(cpu.Core).Set(cpu.Percentage) + } } }() diff --git a/example/grafana/dashboards/jetson-exporter.json b/example/grafana/dashboards/jetson-exporter.json index 29545f1..78906bf 100644 --- a/example/grafana/dashboards/jetson-exporter.json +++ b/example/grafana/dashboards/jetson-exporter.json @@ -18,7 +18,6 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 1, "links": [], "liveNow": false, "panels": [ @@ -30,8 +29,7 @@ "fieldConfig": { "defaults": { "color": { - "fixedColor": "green", - "mode": "fixed" + "mode": "continuous-GrYlRd" }, "mappings": [], "thresholds": { @@ -47,23 +45,25 @@ } ] }, - "unit": "decmbytes", + "unit": "percent", "unitScale": true }, "overrides": [] }, "gridPos": { - "h": 5, + "h": 11, "w": 4, "x": 0, "y": 0 }, - "id": 2, + "id": 6, "options": { - "colorMode": "background", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", + "displayMode": "lcd", + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", + "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" @@ -71,9 +71,9 @@ "fields": "", "values": false }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" }, "pluginVersion": "10.3.1", "targets": [ @@ -84,130 +84,22 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "tegrastats_ram_usage_megabytes{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Usage", - "range": true, - "refId": "Ram Usage", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_ram_max_megabytes{instance=\"$instance\"}", + "exemplar": false, + "expr": "sort_desc(sort(tegrastats_cpu_percentage{instance=\"$instance\"}))", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "Max", - "range": true, - "refId": "Ram Max", - "useBackend": false - } - ], - "title": "Available RAM", - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "percentage", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "orange", - "value": 70 - }, - { - "color": "red", - "value": 85 - } - ] - }, - "unit": "percent", - "unitScale": true - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 4, - "y": 0 - }, - "id": 5, - "options": { - "minVizHeight": 75, - "minVizWidth": 75, - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true, - "sizing": "auto" - }, - "pluginVersion": "10.3.1", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_emc_freq_percent{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "emc", - "range": true, - "refId": "Tboard", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_gr3d_freq_percent{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "gr3d", + "legendFormat": "{{core}}", "range": true, "refId": "A", "useBackend": false } ], - "title": "Usage", + "title": "CPU Usage per core", + "transformations": [], "transparent": true, - "type": "gauge" + "type": "bargauge" }, { "datasource": { @@ -227,7 +119,7 @@ "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", - "fillOpacity": 6, + "fillOpacity": 78, "gradientMode": "opacity", "hideFrom": { "legend": false, @@ -236,25 +128,27 @@ }, "insertNulls": false, "lineInterpolation": "smooth", - "lineWidth": 1, - "pointSize": 5, + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 2, + "pointSize": 1, "scaleDistribution": { - "log": 2, - "type": "log" + "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", - "mode": "none" + "mode": "normal" }, "thresholdsStyle": { - "mode": "dashed" + "mode": "off" } }, "mappings": [], "thresholds": { - "mode": "percentage", + "mode": "absolute", "steps": [ { "color": "green", @@ -262,23 +156,21 @@ } ] }, - "unit": "decmbytes", - "unitScale": true + "unit": "percent", + "unitScale": false }, "overrides": [] }, "gridPos": { - "h": 5, - "w": 11, - "x": 10, + "h": 11, + "w": 10, + "x": 4, "y": 0 }, - "id": 4, + "id": 7, "options": { "legend": { "calcs": [ - "max", - "stdDev", "mean" ], "displayMode": "table", @@ -290,6 +182,7 @@ "sort": "none" } }, + "pluginVersion": "10.3.1", "targets": [ { "datasource": { @@ -298,16 +191,91 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "tegrastats_swap_usage_megabytes{instance=\"$instance\"}", + "exemplar": false, + "expr": "sort_desc(sort(tegrastats_cpu_percentage{instance=\"$instance\"}))", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "Usage", + "legendFormat": "{{core}}", "range": true, - "refId": "Tboard", + "refId": "A", "useBackend": false + } + ], + "title": "CPU Usage Total", + "transformations": [], + "transparent": true, + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "mappings": [ + { + "options": { + "-256": { + "index": 0, + "text": "N/a" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + }, + { + "color": "green", + "value": 50 + }, + { + "color": "orange", + "value": 70 + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "celsius", + "unitScale": true }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 10, + "x": 14, + "y": 0 + }, + "id": 3, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" + }, + "pluginVersion": "10.3.1", + "targets": [ { "datasource": { "type": "prometheus", @@ -315,20 +283,20 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "tegrastats_swap_cached_megabytes{instance=\"$instance\"}", + "expr": "tegrastats_temperature_celsius{instance=\"$instance\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "Cached", + "legendFormat": "{{component}}", "range": true, "refId": "A", "useBackend": false } ], - "title": "Swap", + "title": "Temperature", "transparent": true, - "type": "timeseries" + "type": "gauge" }, { "datasource": { @@ -360,8 +328,7 @@ "lineWidth": 1, "pointSize": 5, "scaleDistribution": { - "log": 2, - "type": "log" + "type": "linear" }, "showPoints": "auto", "spanNulls": false, @@ -383,18 +350,43 @@ } ] }, - "unit": "celsius", + "unit": "decmbytes", "unitScale": true }, - "overrides": [] + "overrides": [ + { + "__systemRef": "hideSeriesFrom", + "matcher": { + "id": "byNames", + "options": { + "mode": "exclude", + "names": [ + "ram" + ], + "prefix": "All except:", + "readOnly": true + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": true + } + } + ] + } + ] }, "gridPos": { - "h": 8, - "w": 21, - "x": 0, - "y": 5 + "h": 6, + "w": 10, + "x": 14, + "y": 8 }, - "id": 3, + "id": 4, "options": { "legend": { "calcs": [ @@ -419,170 +411,18 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "tegrastats_cpu_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Cpu", - "range": true, - "refId": "Cpu", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_cv1_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Cv1", - "range": true, - "refId": "Cv1", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_cv2_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Cv2", - "range": true, - "refId": "Cv2", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_diode_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Diode", - "range": true, - "refId": "Diode", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_gpu_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Gpu", - "range": true, - "refId": "Gpu", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_soc0_temp_celsius{instance=\"$instance\"}", + "expr": "tegrastats_ram_megabytes{instance=\"$instance\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "Soc0", - "range": true, - "refId": "Soc0", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_soc1_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Soc1", - "range": true, - "refId": "Soc1", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_soc2_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Soc2", - "range": true, - "refId": "Soc2", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_tboard_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Tboard", - "range": true, - "refId": "Tboard", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_tj_temp_celsius{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Tj", + "legendFormat": "{{type}}", "range": true, "refId": "A", "useBackend": false } ], - "title": "Temperature", + "title": "RAM", "transparent": true, "type": "timeseries" }, @@ -594,7 +434,7 @@ "fieldConfig": { "defaults": { "color": { - "mode": "continuous-GrYlRd" + "mode": "palette-classic" }, "custom": { "axisBorderShow": false, @@ -613,11 +453,10 @@ }, "insertNulls": false, "lineInterpolation": "smooth", - "lineWidth": 2, + "lineWidth": 1, "pointSize": 5, "scaleDistribution": { - "log": 2, - "type": "log" + "type": "linear" }, "showPoints": "auto", "spanNulls": false, @@ -642,15 +481,41 @@ "unit": "decmbytes", "unitScale": true }, - "overrides": [] + "overrides": [ + { + "__systemRef": "hideSeriesFrom", + "matcher": { + "id": "byNames", + "options": { + "mode": "exclude", + "names": [ + "swap", + "swap_cached" + ], + "prefix": "All except:", + "readOnly": true + } + }, + "properties": [ + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": true + } + } + ] + } + ] }, "gridPos": { - "h": 8, - "w": 21, - "x": 0, - "y": 13 + "h": 6, + "w": 10, + "x": 14, + "y": 14 }, - "id": 1, + "id": 5, "options": { "legend": { "calcs": [ @@ -675,46 +540,30 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "tegrastats_ram_usage_megabytes{instance=\"$instance\"}", + "expr": "tegrastats_swap_megabytes{instance=\"$instance\"}", "fullMetaSearch": false, + "hide": false, "includeNullMetadata": true, "instant": false, - "legendFormat": "Usage", - "range": true, - "refId": "Ram Usage", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "tegrastats_ram_max_megabytes{instance=\"$instance\"}", - "fullMetaSearch": false, - "hide": true, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Max", + "legendFormat": "{{type}}", "range": true, - "refId": "Ram Max", + "refId": "A", "useBackend": false } ], - "title": "RAM Usage", + "title": "Swap", "transparent": true, "type": "timeseries" } ], - "refresh": "", + "refresh": "5s", "schemaVersion": 39, "tags": [], "templating": { "list": [ { "current": { - "selected": true, + "selected": false, "text": "127.0.0.1:9102", "value": "127.0.0.1:9102" }, @@ -749,6 +598,6 @@ "timezone": "", "title": "Jetson Exporter", "uid": "d3572e85-6cf6-4efc-b267-c3709d0f2f2a", - "version": 3, + "version": 4, "weekStart": "" } \ No newline at end of file diff --git a/pkg/tegrastats/parse.go b/pkg/tegrastats/parse.go index ec0d6c8..8a271d7 100644 --- a/pkg/tegrastats/parse.go +++ b/pkg/tegrastats/parse.go @@ -4,6 +4,7 @@ import ( "fmt" "regexp" "strconv" + "strings" "time" ) @@ -153,5 +154,16 @@ func ParseTegraStats(input string) (*TegraStats, error) { func ParseTegraStatsCpus(input string) []TegraCpu { output := make([]TegraCpu, 0) + + rawCpus := strings.Split(input, ",") + for i, rawCpu := range rawCpus { + cpu := strings.Split(rawCpu, "@") + percentage, _ := strconv.ParseFloat(strings.TrimSuffix(cpu[0], "%"), 64) + output = append(output, TegraCpu{ + Core: strconv.Itoa(i), + Percentage: percentage, + }) + } + return output } diff --git a/pkg/tegrastats/tegrastats.go b/pkg/tegrastats/tegrastats.go index 2f645ea..75e4a09 100644 --- a/pkg/tegrastats/tegrastats.go +++ b/pkg/tegrastats/tegrastats.go @@ -32,11 +32,10 @@ func (ts TegraStats) String() string { } type TegraCpu struct { - X int - Y int - Z int + Core string + Percentage float64 } func (tc TegraCpu) String() string { - return fmt.Sprintf("%v%%@%v", tc.X, tc.Z) + return fmt.Sprintf("%v@%v%%", tc.Core, tc.Percentage) }