Let me also compare pinpoint and skyWalking

First of all, the research results of individual people, I am also stepping on the shoulders of giants to move on.

Let me also compare pinpoint and skyWalking

With the iterative update of the pinpoint version, some of the conclusions on this figure are out of date, such as pinpoint:
1. Protocol, the latest 2.1.0 version also uses gRPC by default;
2. TraceId query, the latest 2.1.0 version is also supported ;
3. Release the package, the latest 2.1.0 version is also deployed with jar package;

Therefore, nothing is constant, the only constant should be our enthusiasm and determination to learn.

Then talk about the specific content we want to compare today:

1. UI comparison

For a person like me who is a bit color-controlled, pinpoint's UI looks more beautiful, friendly and convenient. Pinpoint is indeed better than skywalking by a few points. Here are two pictures for you to compare.
Let me also compare pinpoint and skyWalking

Let me also compare pinpoint and skyWalking

There seems to be a problem with the dashboard of skywalking. How can I check the performance during a certain period of time in the past? Can I only look at the current time period?

2. Tracking granularity

After reading the appearance, let's compare their internal strengths. After all, these tools are for work. They are useless as vases. They have to be used in critical situations.

Similarly, let's take two pictures first to see how the tracking granularity of pinpoint and skywalking is.
Let me also compare pinpoint and skyWalking

Let me also compare pinpoint and skyWalking

It can be seen that pinpoint can monitor the time-consuming situation of each link process, including SQL execution time, third-party service response time, etc., and even SQL variable parameters are tracked.

However, skywalking only monitors the interface time consumption, and does not monitor more link time consumption information. A group of friends told that skywalking can monitor the method level, but it needs to invade the code. Add comments on each method to be tracked. So I gave up directly because the price was too high. And even if you monitor the method level, you can only know which method is slow. There may be database calls, third-party method calls, etc. below the method, but it is still impossible to locate the real problem. Therefore, skywalking, an APM monitoring tool, personally understands that it is more used to monitor the time-consuming interface response and raise alarms. As for specific performance problems, it can only be further located by other means.

Therefore, in terms of monitoring granularity, the pinpoint difference of skywalking is not a little bit, which is several orders of magnitude worse.

3. JVM monitoring

Next, let's compare another very useful function of this type of APM tool, monitoring JVM.

Here is a brief list of JVM indicators they can monitor:

Monitoring content pinpoint skywalking
Heap Usage stand by stand by
Non Heap Usage stand by stand by
JVM/System CPU Usage stand by Support (JVM CPU)
Transactions Per Second stand by stand by
Active Request stand by Support (calls per minutes)
Total Thread stand by
Response Time stand by stand by
Open File Descriptor stand by
Direct Buffer Count stand by
Direct Buffer Memory stand by
Mapped Buffer Count stand by
Mapped Buffer Memory stand by
Loaded Class Count stand by
Unloaded Class Count stand by
Data Source stand by
GC count stand by
GC time stand by

From the above comparison results, pinpoint is much more powerful in JVM monitoring, such as support for Thread, Open File Descriptor, Data Source, especially Data Source, which is really convenient, and the usage of database connection pool is clear at a glance.

The only point of skywaling is to support the viewing of GC indicators.

4. Performance loss

Since pinpoint tracking granularity is several orders of magnitude more detailed than skywalking, correspondingly, is its performance loss much larger? Looking at the test results of some netizens (such as the reference link below), the performance loss of pinpoint can reach about 50%, which is too scary, but according to the official publicity, its performance loss is within 3%, so who is it? Is it reliable?

I am mainly engaged in performance stress testing. I usually drive the APM to do stress testing. I don’t feel that there will be a lot of performance loss. The overall loss should be within 8%, and the performance test results are quite OK. Yes, so, regarding the performance loss, I am quite confident in pinpoint. Post an official performance loss description
Let me also compare pinpoint and skyWalking

5. Summary

Today, I mainly compared pinpoint and skywalking in terms of personal experience from the three aspects of UI, tracking granularity, and JVM monitoring. From the comparison results, pinpoint is still superior in terms of ease of operation or performance problem positioning. For skywalking. After all, as an APM tool, the ability to find performance problems better, faster and more comprehensively, is their greatest value.

It may also be that my understanding of skywalking is too superficial and I haven't discovered the real power and beauty of skywalking. If you have different views and opinions, please leave a message to discuss.

Reference link: https://www.jianshu.com/p/626cae6c0522

Guess you like

Origin blog.51cto.com/14437683/2552347