Using jstat to report custom JVM metric sets
I've always been missing possibility to configure custom headers in JStat. Of course there are a lot of predefined data sets, but it'll be nicer if we could create our own data set. And as you probably already devised I'm writing this post because such functionality is of course available :) Unfortunately I haven't found it in any documentation so now I'll try to fill this gap.
First thing we have to do is to provide custom descriptor with possible JStat options. This descriptor is just a text file containing something we'll call "jstat specification language". To make this custom file available to JStat we should place it in the following path: $HOME/.jvmstat/jstat_options
If you want to view the bundled options please refer to file in OpenJDK repository.
The specification language is pretty similar to json files, and it contains the group of option elements. Each option should be threaten as a set of columns that can be shown in single jstat execution. Just to name some of the predefined options: gcnew, gccause or printcompilation.
Each option element consists of several column segments. I think it's quite obvious what column means :) And whats the most important in this descriptor is just a column specification.
Each column must contain at least two nodes: header and data. Header is used to describe the column and can be aligned using special char ^ which I'll call "the grip". Grip means that it sticks the header with particular side of the column, so:
$jcmd <PID> PerfCounter.print
and see the output values.
Sample minimum file content can be like that:
$jstat -customgc <PID> 1s 3
we'll see something like:
We can also use the operations to show for example joint young generation usage:
There are also four additional columns that are used to setup layout for our column.
Now let's see the polished example that will show how we can use additional properties:
End of topic :) Good luck!
First thing we have to do is to provide custom descriptor with possible JStat options. This descriptor is just a text file containing something we'll call "jstat specification language". To make this custom file available to JStat we should place it in the following path: $HOME/.jvmstat/jstat_options
If you want to view the bundled options please refer to file in OpenJDK repository.
The specification language is pretty similar to json files, and it contains the group of option elements. Each option should be threaten as a set of columns that can be shown in single jstat execution. Just to name some of the predefined options: gcnew, gccause or printcompilation.
Each option element consists of several column segments. I think it's quite obvious what column means :) And whats the most important in this descriptor is just a column specification.
Each column must contain at least two nodes: header and data. Header is used to describe the column and can be aligned using special char ^ which I'll call "the grip". Grip means that it sticks the header with particular side of the column, so:
- ^Name will be aligned to the left,
- ^Name^ will be centered,
- Name^ will be aligned to the right.
$jcmd <PID> PerfCounter.print
and see the output values.
Sample minimum file content can be like that:
option customgc { column { header "Tenuring" data sun.gc.policy.tenuringThreshold } }When we'll invoke it using
$jstat -customgc <PID> 1s 3
we'll see something like:
Tenuring 6 4 5
We can also use the operations to show for example joint young generation usage:
option customgc { column { header "YoungC" data sun.gc.generation.0.space.0.used + sun.gc.generation.0.space.1.used + sun.gc.generation.0.space.2.used } }
There are also four additional columns that are used to setup layout for our column.
- First is for alignments setting. We can choose if we want to align our data to left, center or right by setting align element to one of above values.
- In the case of number metrics we can specify string used as DecimalFormat input by entering it in the format node.
- We're also able to specify the size of the column by adding width element with particular length.
- Last but not least is a scaling functionality. Because most of the metrics contain just raw output from JVM we need to transform it a little bit to make if useful for human eye. This can be done with the use of scale attribute set to one of the below values (token column).
token factor desc raw 1 no scaling percent 1/100 convert to percentage K 1024 kilo M 1024*1024 mega G 1024*1024*1024 giga n 10^-9 nano u 10^-6 micro m 10^-3 milli us 10^-6 microseconds ms 10^-3 milliseconds s 1 seconds min 1/60 minutes h 1/3600 hour
Now let's see the polished example that will show how we can use additional properties:
option customgc { column { header "YoungC^" data sun.gc.generation.0.space.0.used + sun.gc.generation.0.space.1.used + sun.gc.generation.0.space.2.used align right scale M width 7 format "0.0" } column { header "OldC^" data sun.gc.generation.1.space.0.used align right scale M width 7 format "0.0" } }Which produces
YoungC OldC 67.7 161.0 37.8 165.4 92.2 182.8
End of topic :) Good luck!
Comments
check out the best furniture sale
block chain training in bangalore
For the Best Python training in Bangalore, Visit:
Python training in Bangalore
Corporate TRaining Spring Framework
Project Centers in Chennai For CSE
Spring Training in Chennai
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore
7 tips to start a career in digital marketing
“Digital marketing is the marketing of product or service using digital technologies, mainly on the Internet, but also including mobile phones, display advertising, and any other digital medium”. This is the definition that you would get when you search for the term “Digital marketing” in google. Let’s give out a simpler explanation by saying, “the form of marketing, using the internet and technologies like phones, computer etc”.
we have offered to the advanced syllabus course digital marketing for available join now
more details click the link now.
https://www.webdschool.com/digital-marketing-course-in-chennai.html
Artificial Intelligence Training In Hyderabad
Artificial Intelligence Course In Hyderabad
For More:
AI Training In Hyderabad
Data Science Training In Hyderabad
more : https://www.kellytechno.com/Hyderabad/Course/AI-Training-In-Hyderabad
SAP training in Mumbai
Best SAP training in Mumbai
SAP training institute Mumbai
Marhabapilates
Poppriceguide
Data Science Training in Hyderabad
DevOps Training in Hyderabad
DevOps Project Training
DevOps Training in Ameerpet
DevOps Training institute in Hyderabad
DevOps Course in Hyderabad
Data Science course in Tambaram
Data Science Training in Anna Nagar
Data Science Training in T Nagar
Data Science Training in Porur
Data Science Training in OMR
vé máy bay đi Mỹ bao nhiêu
vé máy bay tết
đặt vé máy bay đi toronto canada
vé máy bay đi Pháp 1 chiều
vé máy bay đi Anh bao nhiêu
vé máy bay giá rẻ đi Los Angeles
combo du lịch đà nẵng
combo đi đà lạt
visa trung quốc có đi được đài loan
giá dịch vụ cách ly tại khách sạn
ve may bay di my gia re
mua vé máy bay từ mỹ về việt nam hãng eva
thời gian bay từ nhật về vn
vé máy bay từ canada về việt nam
Tally Training in Chennai
CCNA Training Institute in Chennai
SEO Training Institute in Chennai
Big Data Course in Chennai
Cloud Training in Chennai
Blue Prism Training Institute in Chennai
JAVA Training in Chennai
Selenium Training in Chennai
Python Training in Chennai
AWS Training in Chennai
Data Science Course in Chennai
DevOps Training in Chennai
Hadoop Training in Chennai
Hadoop Training in Bangalore
Big Data Online Training
Big Data Training in Coimbatore
data scientist course in hyderabad
data scientist training and placement
DevOps Training in Hyderabad
Best Online Oracle Training Institute in Delhi, NCR
Certified Online Python Training Institute in Delhi, NCR
Core to Advanced Digital Marketing Training Course in Delhi, India
Learn Complete Advanced Excel Training Course in Delhi, NCR
data scientist training and placement
data analytics training in hyderabad
youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube free youtube to mp3 converter youtube youtube youtube youtube youtube youtube youtube youtube youtube youtube
Google My Business Management | Business Listings Management
SAS Programming Training from Hyderabadg
AWS Training from Hyderabadg
SQL Azure DBA Training from Hyderabadg
Node JS Training from Hyderabadg