In J2EE programming, which is difference between profiling and monitoring?
-
If you developed a J2EE application not working as expected, you have 2 methodologies to inspect behavior: profiling and monitoring. Which are the differences? When to use one or the other? Is there one better than the other? Why?
-
Answer:
Profiling is an active software development technique that lets you optimize software performance. You run your software through a profiler, and it will spit out various statistics letting you identify resource usage of the different sections of your code. You can use this to quickly identify and eliminate CPU, memory, or storage bottlenecks. See how this profiler breaks down the execution time and invocation count of each method: Monitoring is more of a passive technique, used to help ensure software is performing as expected by intermittently checking/polling your software as it's running. When it is not, monitoring software hopefully has detailed logs that provide error messages, network connectivity/usage, and possibly CPU/memory/disk space usage over time. You can use monitoring software to help narrow down problematic events or situations that causes your software to not perform as expected. See how this monitoring software is recording network connectivity statistics over time. It does also externally ping the web server, recording response time: Both have good purposes, and one can certainly augment the benefits of the other. Often, monitoring software will detect a problem and, by replicating the scenario that caused the problem, you can run your software with a profiler to figure out what exactly needs fixing.
Scott Danzig at Quora Visit the source
Other answers
"Monitoring" usually refers to Application Performance Monitoring (APM). Some discussion here: In Java EE, APM tools attach to the Java app server and monitor key interfaces like and layers, as well a high-level CPU, and statistics. APMs cannot look at per-class or method memory and CPU performance, like profilers do. But, since they can be kept running permanently and don't impact performance, they have a more accurate view of how the system works on a live system. In contrast, since profiling needs to be manually, it is usually with a simulated load, like a few test users or a load testing tool such as .
Miguel Paraz
Related Q & A:
- Which language is the best for genetic programming?Best solution by Programmers
- Which is the best programming language?Best solution by Yahoo! Answers
- Which PSP is the best and whats the difference between them?Best solution by Yahoo! Answers
- What is the difference between computer science and computer programming?Best solution by wiki.answers.com
- What is the difference between Computer Programming and Computer Science?Best solution by wiki.answers.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.