Skip to main content

Generating Java Mixed Mode Flame Graphs

Overview

I've seen Brendan Gregg's talk on generating mixed-mode flame graphs and I wanted to reproduce those flamegraphs for myself. Setting up the tools is a little bit of work, so I wanted to capture those steps. Check out the Java in Flames post on the Netflix blog for more information.

I've created github repo (github.com/jerometerry/perf)  that contains the scripts used to get this going, including a Vagrantfile, and JMeter Test Plan.

Here's a flame graph I generated while applying load (via JMeter) to the basic arithmetic Tomcat sample application. All the green stacks are Java code, red stacks are kernel code, and yellow stacks are C++ code. The big green pile on the right is all the Tomcat Java code that's being run.


Tools

Here's the technologies I used (I'm writing this on a Mac).
  • VirtualBox 5.1.12
  • Vagrant 1.9.1
  • bento/ubuntu-16.04 (kernel 4.4.0-38)
  • Tomcat 7.0.68
  • JMeter 3.1
  • OpenJDK 8 1.8.111
  • linux-tools-4.4.0-38
  • linux-tools-common
  • Brendan Gregg's FlameGraph tools
  • Johannes Rudolph's Perf Map Agent tool 

Steps

Here's the steps to set up the VM
  1. Created a Ubuntu 16.04VM using VirtualBox / Vagrant (vagrant init bento/ubuntu-16.04; vagrant up)
  2. SSH into the VM (vagrant ssh)
  3. Update apt (sudo apt-get update)
  4. Install Java 8 JDK (sudo apt-get install openjdk-8-jdk)
  5. Install Java 8 Debug Symbols (sudo apt-get install openjdk-8-dbg)
  6.  Install Tomcat 7 (sudo apt-get install tomcat7 tomcat7-examples)
  7. Configure JAVA_HOME in /etc/default/tomcat7 (JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64)
  8. Configure JAVA_OPTS in /etc/default/tomct7 (JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -XX:+UseG1GC -XX:+PreserveFramePointer -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints")
  9. Restart tomcat7 service (sudo service tomcat7 restart)
  10. Install cmake (sudo apt-get install cmake build-essential)
  11. Install Linux perf (sudo apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`)
  12. Download flamegraph (git clone --depth=1 https://github.com/brendangregg/FlameGraph)
  13. Download perf-map-agent (git clone --depth=1 https://github.com/jrudolph/perf-map-agent)
  14. Build perf-map-agent (cd perf-map-agent; export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64; cmake .; make)

At this point, Tomcat 7, Java 8, Linux Perf, FlameGraphs, and Perf Map Agent are all configured, and we're just about ready to generate a flame graph.

Applying Workload

Next step is to apply load to the Tomcat. From the host
  1. Download JMetere 3.1
  2. Run JMeter
  3. Add a Thread Group: Number of Threads (users): 25, Ramp up period (in seconds): 30, Loop Count: Forever
  4. Add new Sampler, HTTP Listener. Server Name or IP: localhost. Port Number: 8080. Path: /examples/jsp/jsp2/el/basic-arithmetic.jsp
  5. Hit play
That is a basic test plan to drive the Tomcat basic arithmetic sample using 25 users ramped up over 30 seconds, forever. That's enough load to capture a decent profile. You might need to tweak JMeter HTTP Listener, depending on how your VM is set up. In my case, I have the VM port forwarding guest port 8080 to host port 8080. 

Generating Flamegraph

With the VM configured and JMeter running, we can now generate a flame graph. From the home directory (~/) in the VM
  1. sudo perf record -F 99 -a -g -- sleep 30
  2. sudo ./FlameGraph/jmaps
  3. sudo chown root /tmp/perf-*.map
  4. sudo chown root perf.data
  5. sudo perf script | ./FlameGraph/stackcollapse-perf.pl | grep -v cpu_idle | ./FlameGraph/flamegraph.pl --color=java --hash > flamegraph.svg
And with that, the Flame Graph is now generated!

You can copy the flame graph to the host as follows
  • cp ~/flamegraph.svg /vagrant
This is put the flamegraph.svg file in the directory you ran the vagrant up command in, since by default vagrant syncs that folder.

Automation

To simplify this, I've added the Vagrantfile to my github repo, along with the JMeter Test plan.

git clone https://github.com/jerometerry/perf.git
cd ./perf
vagrant up

... Start JMeter test plan

vagrant ssh
sudo ~/generate-flamegraph.sh
exit


AWS EC2

The steps above are pretty close to what you would do to set this up in AWS EC2. Assuming you have an EC2 Ubuntu instance running with OpenJDK 8 installed, you would need to

  1. SSH into the EC2 instance
  2. Update apt (sudo apt-get update)
  3. Install Java 8 Debug Symbols (sudo apt-get install openjdk-8-dbg)
  4. Add PreserveFramePointer to JAVA_OPTS "XX:+PreserveFramePointer"
  5. Restart Java process
  6. Install cmake (sudo apt-get install cmake build-essential)
  7. Install Linux perf (sudo apt-get install linux-tools-common linux-tools-generic linux-tools-`uname -r`)
  8. Download flamegraph (git clone --depth=1 https://github.com/brendangregg/FlameGraph)
  9. Download perf-map-agent (git clone --depth=1 https://github.com/jrudolph/perf-map-agent)
  10. Build perf-map-agent (cd perf-map-agent; export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64; cmake .; make)
Once you have Linux Tools installed, the Java debug symbols installed, flamegraph and java-perf-agent configured, you can apply the workload to the Java process, then generate a flamegraph 

  1. sudo perf record -F 99 -a -g -- sleep 30
  2. sudo ./FlameGraph/jmaps
  3. sudo chown root /tmp/perf-*.map
  4. sudo chown root perf.data
  5. sudo perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl --color=java --hash > flamegraph.svg
Then you would scp the flamegraph.svg file down to your local machine. For example, assuming my username on the EC2 instance is jerome_terry, and I have an SSH tunnel configured named EC2Instance, then I would just run
  • scp jerome_terry@EC2Instance:/home/jerome_terry/flamegraph.svg ./

Safepoints


Nitsan Wakart recommended that I include the JVM options -XX:+UnlockDiagnosticVMOptions and -XX:+DebugNonSafepoints, and pass unfoldall to perfmap agent. Doing this paints a better picture of what's actually running on CPU.

Adding the JVM options is trivial (add it to JAVA_OPTS in the Tomcat example). Passing unfoldall to perfmap agent requires modification of Brendan Greggs jmaps script by changing


net.virtualvoid.perf.AttachOnce $pid 

to

net.virtualvoid.perf.AttachOnce $pid unfoldall

You'll also need to pass the ---inline flag to the stackcollapse-perf.pl script. 

References

Comments

  1. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.

    Best AWS training in bangalore

    ReplyDelete
  2. Awesome , Your guidelines and approaches content was very nice, it seems to clearly understandable. Its unique one i was fully enjoyed, Thanks for giving this wonderful opportunity,

    Selenium Training in chennai | Selenium Course in Chennai

    ReplyDelete
  3. Excellent knowledge shared about java mixed mode frame , Thanks to you. For more details Click Here- : Digital Marketing Course

    ReplyDelete
  4. Visit for AWS training in Bangalore: AWS training in Bangalore

    ReplyDelete
  5. You have a good point here!I totally agree with what you have said!!Thanks for sharing your views...hope more people will read this article!!!
    tree stump removal lake worth

    ReplyDelete
  6. I think this is one of the most significant information for me. And i’m glad reading your article. dumpster rental asheville

    ReplyDelete
  7. This is a great article thanks for sharing this informative information. I will visit your blog regularly for some latest post.tree trimming companies montgomery

    ReplyDelete
  8. This post is good enough to make somebody understand this amazing thing, and I’m sure everyone will appreciate this interesting things.
    dumpster rental cost springfield

    ReplyDelete
  9. I didn't realized how it is very written everything in here! ADA Compliance Striping San Jose CA

    ReplyDelete
  10. Hi, This is a nice article you shared great information i have read it thanks for giving such a wonderful blog for the reader. septic tank cleaning springfield

    ReplyDelete
  11. You have a good point here!I totally agree with what you have said!! Thanks for sharing your views. hope more people will read this article!!! residential tree services jonesboro

    ReplyDelete
  12. Hello, I have browsed most of your posts. This post is probably where I got the most useful information for my research. Thanks for posting, maybe we can see more on this. Are you aware of any other websites on this subject?
    dumpster rental companies little rock

    ReplyDelete
  13. I have read your article, it is very informative and helpful for me.I admire the valuable information you offer in your articles. Thanks for posting it..drain cleaning service little rock

    ReplyDelete
  14. You have a good point here!I totally agree with what you have said!! Thanks for sharing your views. hope more people will read this article!!! emergency tree services beaumont

    ReplyDelete
  15. Great article and a nice way to promote online. I’m satisfied with the information that you provided junk hauling services corpus christi

    ReplyDelete
  16. This is a great article thanks for sharing this informative information. I will visit your blog regularly for some latest post.grease trap pumping service corpus christi

    ReplyDelete
  17. Thanks for the wonderful share. Your article has proved your hard work and experience you have got in this field. Brilliant .i love it reading. stump grinding lubbock

    ReplyDelete
  18. I think this is one of the most significant information for me. And i’m glad reading your article. dumpster rental services albuquerque

    ReplyDelete

  19. I just can’t stop reading this. Its so fresh, so filled with updates that I just didn’t know. I am delighted to see that people are in fact writing about this subject in such a elegant way, presenting us all diverse parts to it. You’re a fine blogger. Please carry on with it. I can’t wait to read what’s after that. carpet cleaners

    ReplyDelete
  20. I am really enjoying reading your well written articles. It looks like you spend a lot of effort and time on your blog. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work.
    data analytics courses

    data science interview questions

    business analytics courses

    data science course in mumbai

    ReplyDelete
  21. Similarly, you can watch the TV shows Pinoy Tambayan HD such as Pino Ako, Pinoy Tambayan, Pinoy Teleserye Replay, Pinoy1TV, TFC, Pinoy GMA TV replays at anytime or whenever you want. As we know that Filipinos people are so hard working and they keep themselves busy on work. Because of their job, they cannot watch their favorite Pinoy TV shows, ambayan shows or Pinoy Lambingan on television.

    ReplyDelete
  22. My spouse and I love your blog and find almost all of your post’s to be just what I’m looking for. Can you offer guest writers to write content for you?
    I wouldn’t mind producing a post or elaborating on some the subjects you write concerning here. Again, awesome weblog!

    AWS training in chennai | AWS training in anna nagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery

    ReplyDelete
  23. If people that write articles cared more about writing great material like you, more readers would read their content. It's refreshing to find such original content in an otherwise copy-cat world. Thank you so much.
    Best Data Science training in Mumbai

    Data Science training in Mumbai

    ReplyDelete
  24. wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries. keep it up.
    data analytics course in Bangalore

    ReplyDelete
  25. Best Corporate Video Production Company in Bangalore and top Explainer Video Company in Bangalore , 3d, 2d Animation Video Makers in Chennai.
    Great article, Charles. Thanks for it.

    ReplyDelete
  26. The blog has very nice information and amazing facts to read. Thanks for sharing this post! You can also check our blog
    Url - https://www.raletta.in/blog/internship-in-indore/

    ReplyDelete
  27. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple linear regression

    ReplyDelete
  28. the post was very nice!
    Visit this blog also for more information

    https://www.raletta.in/blog/work-from-home/

    Thank you

    ReplyDelete
  29. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
    Data Science Certification in Bangalore

    ReplyDelete
  30. Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!.
    Data Science Course in Bangalore

    ReplyDelete
  31. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one
    Data Science Training in Bangalore

    ReplyDelete
  32. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one.
    360DigiTMG Data Science Institute in Bangalore

    ReplyDelete
  33. The development of artificial intelligence (AI) has propelled more programming architects, information scientists, and different experts to investigate the plausibility of a vocation in machine learning. Notwithstanding, a few newcomers will in general spotlight a lot on hypothesis and insufficient on commonsense application. machine learning projects for final year In case you will succeed, you have to begin building machine learning projects in the near future.

    Projects assist you with improving your applied ML skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include projects into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Final Year Project Centers in Chennai even arrange a more significant compensation.


    Data analytics is the study of dissecting crude data so as to make decisions about that data. Data analytics advances and procedures are generally utilized in business ventures to empower associations to settle on progressively Python Training in Chennai educated business choices. In the present worldwide commercial center, it isn't sufficient to assemble data and do the math; you should realize how to apply that data to genuine situations such that will affect conduct. In the program you will initially gain proficiency with the specialized skills, including R and Python dialects most usually utilized in data analytics programming and usage; Python Training in Chennai at that point center around the commonsense application, in view of genuine business issues in a scope of industry segments, for example, wellbeing, promoting and account.

    ReplyDelete
  34. I see some amazingly important and kept up to length of your strength searching for in your on the site.

    Data Science Course

    ReplyDelete
  35. I think about it is most required for making more on this get engaged.

    Data Science Training

    ReplyDelete
  36. Thanks for sharing this article with us this is very useful for us. Visit our blog too Fashion Blog

    ReplyDelete
  37. To establish a network by putting towers in a region we can use the clustering technique to find those tower locations which will ensure that all the users receive optimum signal strength.
    data science training bangalore

    ReplyDelete
  38. Great post i must say and thanks for the information. Education is definitely a sticky subject. However, is still among the leading topics of our time. I appreciate your post and look forward to more.

    Simple Linear Regression

    Correlation vs Covariance

    ReplyDelete
  39. I’m excited to uncover this page. I need to to thank you for ones time for this particularly fantastic read!! I definitely really liked every part of it and i also have you saved to fav to look at new information in your site.Learn Best Data Science Training in Hyderabad

    ReplyDelete
  40. really awesome post this is. Truly, one of the best posts I've ever witnessed to see in my whole life. Wow, just keep it up.Learn best Business Analytics Course in Hyderabad

    ReplyDelete
  41. Truly, this article is really one of the very best in the history of articles. I am a antique ’Article’ collector and I sometimes read some new articles if I find them interesting. And I found this one pretty fascinating and it should go into my collection. Very good work!data science certification

    ReplyDelete
  42. This post is very simple to read and appreciate without leaving any details out. Great work!
    data science course hyderabad - 360DigiTMG

    ReplyDelete
  43. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
    python course training in guduvanchery

    ReplyDelete
  44. Very impressive and interesting blog found to be well written in a simple manner that everyone will understand and gain the enough knowledge from your blog being more informative is an added advantage for the users who are going through it. Once again nice blog keep it up.

    360DigiTMG Tableau Course

    ReplyDelete
  45. I truly appreciate essentially perusing the entirety of your weblogs. Basically needed to advise you that you have individuals like me who value your work. Certainly an extraordinary post. Caps off to you! The data that you have given is useful.360DigiTMG data science course

    ReplyDelete
  46. I'd love to thank you for the efforts you've made in composing this post. I hope the same best work out of you later on too. I wished to thank you with this particular sites! Thank you for sharing. Fantastic sites!
    Data Science Course in Bangalore

    ReplyDelete
  47. This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science course in hyderabad

    ReplyDelete
  48. Additionally, this is an excellent article which I truly like studying. It's not everyday I have the option to see something similar to this.
    Data Science Course In Bangalore With Placement

    ReplyDelete

  49. Very wonderful article. I liked reading your article. Very wonderful share. Thanks ! .
    Data Science Course In Bangalore With Placement

    ReplyDelete
  50. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.

    Simple Linear Regression

    Correlation vs covariance

    KNN Algorithm

    Logistic Regression explained

    ReplyDelete
  51. Thanks for the Information.Interesting stuff to read.Great Article.
    I enjoyed reading your post, very nice share.
    Data Science Course Training in Hyderabad

    ReplyDelete
  52. Amazing Article ! I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Correlation vs Covariance
    Simple Linear Regression
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  53. Highly appreciable regarding the uniqueness of the content. This perhaps makes the readers feels excited to get stick to the subject. Certainly, the learners would thank the blogger to come up with the innovative content which keeps the readers to be up to date to stand by the competition. Once again nice blog keep it up and keep sharing the content as always.

    360DigiTMG Business Analytics Course

    ReplyDelete
  54. Thanks for the lovely blog. It helped me a lot. I'm glad I found this blog. Thanks for sharing with us, I too am always learning something new from your post.

    360DigiTMG Business Analytics Course in Bangalore

    ReplyDelete
  55. Thanks for the lovely blog. It helped me a lot. I'm glad I found this blog. Thanks for sharing with us, I too am always learning something new from your post.

    360DigiTMG Business Analytics Course in Bangalore

    ReplyDelete
  56. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. technical training

    ReplyDelete
  57. Attend The Data Science Courses From ExcelR. Practical Data Science Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Science Courses.
    Data Science Courses

    ReplyDelete
  58. As forever your articles do move me. Each and every detail you have posted was extraordinary.

    data science courses in delhi

    ReplyDelete
  59. It is a great pleasure to read your message. It's full of information I'm looking for and love to post a comment that says "The content of your post is amazing". Excellent work.

    360DigiTMG Artificial Intelligence Course in Bangalore

    ReplyDelete
  60. Attend The data science course in Hyderabad From ExcelR. Practical data science course in Hyderabad Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The data science course in Hyderabad. data science course in Hyderabad

    ReplyDelete
  61. Very nice blogs!!! i have to learning for lot of information for this sites…Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing, data science online course

    ReplyDelete
  62. Amazing Article ! I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
    Simple Linear Regression
    Correlation vs covariance
    data science interview questions
    KNN Algorithm
    Logistic Regression explained

    ReplyDelete
  63. Very nice blogs!!! i have to learning for lot of information for this sites…Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing, data sciecne course in hyderabad

    ReplyDelete
  64. Very nice blogs!!! i have to learning for lot of information for this sites…Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing, data sciecne course in hyderabad

    ReplyDelete
  65. Very nice blogs!!! i have to learning for lot of information for this sites…Sharing for wonderful information.Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing, data sciecne course in hyderabad

    ReplyDelete
  66. When a set of data is given as input by applying certain algorithms, the machine gives us the desired output. data science course syllabus

    ReplyDelete
  67. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Great work
    best data science courses in hyderabad

    ReplyDelete
  68. Great article with valuable information found very resourceful thanks for sharing.
    typeerror nonetype object is not subscriptable

    ReplyDelete
  69. Internet has become the biggest platform for millions and billions of users to do myriads of activities and thus leave large sets of data footprints behind which can be consumed by machine-learning algorithms to become more and more effective. data science course syllabus

    ReplyDelete
  70. The article was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog, looking forward for more contents.
    by Cognex is the AWS Training in Chennai

    ReplyDelete
  71. With the gradual increase of popularity in social media and other internet platforms, customers, clients is gradually becoming socially interlinked for almost 24*7. From a business point of view, it is an immense opportunity to target the probable customers that surely affect the business outcome and image. data science course syllabus

    ReplyDelete
  72. I curious more interest in some of them hope you will give more information on this topics in your next articles.
    Digital Marketing Courses in Hyderabad With Placements

    ReplyDelete
  73. Nice Information Your first-class knowledge of this great job can become a suitable foundation for these people. I did some research on the subject and found that almost everyone will agree with your blog.
    Cyber Security Course in Bangalore

    ReplyDelete
  74. You finished certain solid focuses there. I did a pursuit regarding the matter and discovered almost all people will concur with your blog.
    https://360digitmg.com/course/certification-program-in-data-science

    ReplyDelete
  75. This was not just great in fact this was really perfect your talent in writing was great.ExcelR Business Analytics Courses

    ReplyDelete
  76. This is my first time i visit here. I found so many entertaining stuff in your blog, especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the leisure here! Keep up the good work. I have been meaning to write something like this on my website and you have given me an idea.

    data science course in India

    ReplyDelete
  77. Wow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also.
    data science course in India

    ReplyDelete
  78. the focus shifted to data, analytics and logistics. Today, while designing marketing strategies that engage customers and increase conversion, decision makers observe, analyze and conduct in depth research on customer behavior to get to the roots instead of following conventional methods wherein they highly depend on customer response. data science course syllabus

    ReplyDelete
  79. Wow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also.
    data science course in India

    ReplyDelete
  80. You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!
    Artificial Intelligence Course

    ReplyDelete
  81. Excellent Blog! I would like to thank for the efforts you have made in writing this post. I am hoping the same best work from you in the future as well. I wanted to thank you for this websites! Thanks for sharing. Great websites!
    Artificial Intelligence Course

    ReplyDelete
  82. Cognex is the AWS Training in Chennai. Cognex offer so many courses depends upon the students requriments.

    ReplyDelete
  83. Calculated Fields Form WordPress Plugin In Calculate Field to each other we can use wordpress plugin for calculation. let We explain you how to make Calculation Field in wordpress.

    ReplyDelete
  84. This is additionally a generally excellent post which I truly delighted in perusing. It isn't each day that I have the likelihood to see something like this..
    data science courses in noida

    ReplyDelete
  85. I have bookmarked your site since this site contains significant data in it. You rock for keeping incredible stuff. I am a lot of appreciative of this site.
    data science courses in delhi

    ReplyDelete
  86. This post is very simple to read and appreciate without leaving any details out. Great work!
    data science course in delhi

    ReplyDelete
  87. This is a great motivational article. In fact, I am happy with your good work. They publish very supportive data, really. Continue. Continue blogging. Hope you explore your next post
    data science course in noida

    ReplyDelete
  88. Hadoop is an open-source software framework for storing data and running applications on clusters of commodity hardware. It provides massive storage for any kind of data, enormous processing power and the ability to handle virtually limitless concurrent tasks or jobs.
    tally training in chennai

    hadoop training in chennai

    sap training in chennai

    oracle training in chennai

    angular js training in chennai

    ReplyDelete
  89. What a really awesome post this is. Truly, one of the best posts I've ever witnessed to see in my whole life. Wow, just keep it up.
    Best Data Science Courses in Hyderabad

    ReplyDelete
  90. As always your articles do inspire me. Every single detail you have posted was great.
    data science courses in delhi

    ReplyDelete
  91. Nice and very informative blog, glad to learn something through you.
    data science course in noida

    ReplyDelete
  92. There are so many useful information in your post, I like it all the time. This is very useful.
    Peoplesoft Admin Training

    ReplyDelete
  93. Your content is very unique and understandable useful for the readers keep update more article like this.
    data science training

    ReplyDelete
  94. Dr. Vivek Galani is a leading expert in skin and hair. At hair transplant clinic in Surat Skin Care, Cosmetic Laser, Hair Transplant & Slimming Center, Dr. Galani offers the most advanced cosmetic and dermatologic care treatments. The clinic uses advanced FUE methods to produce high-quality hair transplants.

    ReplyDelete
  95. Thanks for this, its easy to understand for everyone.

    Camila Jack

    ReplyDelete
  96. Very informative and It was an awesome post...... GraphPad Prism Crack

    ReplyDelete
  97. This is my first time visit here. From the tremendous measures of comments on your articles.I deduce I am not only one having all the fulfillment legitimately here!
    best data science courses

    ReplyDelete
  98. Hello there to everyone, here everybody is sharing such information, so it's fussy to see this webpage, and I used to visit this blog day by day
    data science course

    ReplyDelete
  99. Hello there to everyone, here everybody is sharing such information, so it's fussy to see this webpage, and I used to visit this blog day by day
    data science course

    ReplyDelete
  100. I was looking at a portion of your posts on this site and I consider this site is really enlightening! Keep setting up..
    business analytics course aurangabad

    ReplyDelete
  101. I was looking at a portion of your posts on this site and I consider this site is really enlightening! Keep setting up..
    data science courses in gurgaon

    ReplyDelete
  102. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    data science training in noida

    ReplyDelete
  103. nice blog!! i hope you will share a blog on Data Science.
    data science training in noida

    ReplyDelete
  104. Communication is a two way process. If done properly, it gives excellent result. Thus opting for the best Integrated Marketing Communication Course on Talentedge is wise. To know more visit:

    ReplyDelete
  105. Thanks for sharing such nice info. I hope you will share more information like this. please keep on sharing!

    Python Training In Bangalore
    AWS Training In Bangalore

    ReplyDelete
  106. i am glad to discover this page : i have to thank you for the time i spent on this especially great reading !! i really liked each part and also bookmarked you for new information on your site.
    best data science courses in bangalore

    ReplyDelete
  107. Thanks for posting the best information and the blog is very helpful.Data science course in Faridabad

    ReplyDelete
  108. Nice and very informative blog, glad to learn something through you.
    machine learning course in aurangabad

    ReplyDelete
  109. Very interesting and thanks for sharing such a good blog. keep sharing.
    data scientist Course in pune

    ReplyDelete
  110. I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors.
    data science course fees in bangalore

    ReplyDelete
  111. I read your article it is very interesting and every concept is very clear, thank you so much for sharing. AWS Certification Course in Chennai


    ReplyDelete
  112. Thanks for the Valuable information.Really useful information. Thank you so much for sharing. It will help everyone.
    bihar student credit card scheme
    bihar student credit card
    MBBS in Bangladesh
    MBBS Bangladesh

    ReplyDelete
  113. It’s difficult to find experienced people for this subject, however, you sound like you know what you’re talking about! Thanks
    data scientist training and placement

    ReplyDelete
  114. Good blog,

    ACCA Coaching kerala, ACCA Coaching Center in kerala, ACCA Classes in kerala, ACCA Coaching Classes kerala, Best ACCA Coaching in kerala, No:1 ACCA Coaching Center in kerala, Top 10 ACCA Coaching Centers in kerala, ACCA Online Courses, ACCA Training, ACCA IFRS course, ACCA IFRS Certification, ACCA Online Coaching, ACCA Certification Courses, ACCA SBR Online Courses

    https://ffacademia.com

    ReplyDelete
  115. Really wonderful blog completely enjoyed reading and learning to gain the vast knowledge. Eventually, this blog helps in developing certain skills which in turn helpful in implementing those skills. Thanking the blogger for delivering such a beautiful content and keep posting the contents in upcoming days.

    data science certification in bangalore

    ReplyDelete
  116. nice blog!! i hope you will share a blog on Data Science.
    data science course malaysia

    ReplyDelete
  117. Wonderful blog. I delighted in perusing your articles. This is genuinely an incredible perused for me. I have bookmarked it and I am anticipating perusing new articles. Keep doing awesome!
    data science certification

    ReplyDelete
  118. It was a good experience to read about dangerous punctuation. Informative for everyone looking on the subject.
    data scientist training and placement in hyderabad

    ReplyDelete
  119. You totally coordinate our desire and the assortment of our data.
    business analytics course aurangabad

    ReplyDelete
  120. I have voiced some of the posts on your website now, and I really like your blogging style. I added it to my list of favorite blogging sites and will be back soon ...
    Business Analytics Course

    ReplyDelete
  121. You actually make it seem like it's really easy with your acting, but I think it's something I think I would never understand. I find that too complicated and extremely broad. I look forward to your next message. I'll try to figure it out!
    Best Data Science Courses in Bangalore

    ReplyDelete
  122. I am very happy to have seen your website and hope you have so many entertaining times reading here. Thanks again for all the details.
    Data Analytics Course in Bangalore

    ReplyDelete
  123. I am delighted to discover this page. I must thank you for the time you devoted to this particularly fantastic reading !! I really liked each part very much and also bookmarked you to see new information on your site.

    Digital Marketing Course in Bangalore

    ReplyDelete
  124. He's really nice and mean. it's a really cool blog. The link is a very useful thing. You have really helped a lot of people who visit the blog and give them useful information.

    Digital Marketing Course in Bangalore

    ReplyDelete
  125. I just couldn't leave your website before telling you that I truly enjoyed the top quality info you present to your visitors? Will be back again frequently to check up on new posts.
    data scientist training in hyderabad

    ReplyDelete
  126. Hello! I just wish to give an enormous thumbs up for the nice info you've got right here on this post. I will probably be coming back to your weblog for more soon!
    data scientist training in hyderabad

    ReplyDelete

Post a Comment

Popular posts from this blog

Basic Web Performance Testing With JMeter and Gatling

Introduction In this post I'll give a quick way to get some basic web performance metrics using both JMeter and Gatling . JMeter is a well known, open source, Java based tool for performance testing. It has a lot of features, and can be a little confusing at first. Scripts (aka Test Plans), are XML documents, edited using the JMeter GUI.  There are lots of options, supports a wide variety of protocols, and produces some OK looking graphs and reports. Gatling is a lesser known tool, but I really like it. It's a Scala based tool, with scripts written in a nice DSL. While the scripts require some basic Scala, they are fairly easy to understand and modify. The output is a nice looking, interactive, HTML page. Metrics   Below are the basic metrics gathered by both JMeter and Gatling . If you are just starting performance testing, these might be a good starting point . Response Time – Difference between time when request was sent and time when response has been fully rec

Multi Threaded NUnit Tests

Recently I needed to reproduce an Entity Framework deadlock issue. The test needed to run in NUnit, and involved firing off two separate threads. The trouble is that in NUnit, exceptions in threads terminate the parent thread without failing the test. For example, here's a test that starts two threads: the first thread simply logs to the console, while the other thread turfs an exception. What I expected was that this test should fail. However, the test actually passes. readonly ThreadStart[] delegates = { () => { Console.WriteLine("Nothing to see here"); }, () => { throw new InvalidOperationException("Blow up"); } }; [Test] public void SimpleMultiThreading() { var threads = delegates.Select(d => new Thread(d)).ToList(); foreach (var t in threads) { t.Start(); } foreach (var t in threads) { t.Join(); } } Peter Provost posted an article that describes how to make this test fail. It