/* Ċ Ġ* ĠCopyright Ġ[ 2 0 1 8 ] Ġ[ A uk let AP M ] Ċ Ġ* Ċ Ġ* ĠĠĠĠ ĠAuthor : ĠEric ĠX u Ċ Ġ* ĠĠĠĠ ĠEmail : Ġ eric . xu @ a uk let apm . com Ċ Ġ* ĠĠĠĠ ĠWeb URL : Ġhttps :// github . com / a uk let apm Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . a uk let apm . go . module Ċ Ċ import Ġcom . a uk let apm . go . A uk let Ap m To Go Ċ import Ġcom . a uk let apm . go . Component Ċ import Ġcom . a uk let apm . go . Line Chart Ċ import Ġcom . a uk let apm . go . Module Ċ import Ġjava . lang . management . Management Factory ĊĊ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠEric ĠX u Ċ Ġ* Ġ@ date Ġ 3 1 / 0 3 / 2 0 1 8 Ċ Ġ*/ Ċ class ĠJ vm Module Ġ: ĠModule Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcomponents (): ĠList < Component > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġthread MX Bean Ġ= ĠManagement Factory . get Thread MX Bean () ĊĠĠĠĠĠĠĠ Ġval Ġthread Count Line Chart Ġ= ĠLine Chart . newBuilder (" jvm _ thread _ count ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Thread ĠCount ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Line Chart . Load Data (" Thread ĠCount ", Ġthread MX Bean . thread Count . toDouble ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġheap Line Chart Ġ= ĠLine Chart . newBuilder (" jvm _ heap ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Heap ( MB )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLine Chart . Load Data (" Total ĠMemory ", ĠRuntime . get Runtime (). total Memory (). toDouble () Ġ/ Ġ 1 0 0 0 Ġ/ Ġ 1 0 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLine Chart . Load Data (" Max ĠMemory ", ĠRuntime . get Runtime (). max Memory (). toDouble () Ġ/ Ġ 1 0 0 0 Ġ/ Ġ 1 0 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLine Chart . Load Data (" Free ĠMemory ", ĠRuntime . get Runtime (). free Memory (). toDouble () Ġ/ Ġ 1 0 0 0 Ġ/ Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġa uk let Ap m To Go List Ġ= ĠA uk let Ap m To Go . A uk let Ap m To Go List (" jvm _ system _ properties ", Ġ" System ĠProperties "). setContent Loader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getProperties (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA uk let Ap m To Go . KeyValue ( it . key . toString (), Ġit . value . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( thread Count Line Chart , Ġheap Line Chart , Ġa uk let Ap m To Go List ) ĊĠĠĠ Ġ} Ċ }