What’s New in 2.0.1

We have a new UI for Pinpoint-Web. A lot of users asked on the commercial issue and we are happy to announce that all commercial dependencies(amchart, go.js) has been removed.

Pinpoint started using GRPC as default

Fully changed UI

Lighter, faster, smoother

  • Servermap
    servermap

  • Distributed calltree
    callstack

  • Inspector
    inspector

Support JAVA 12, 13

Support gRpc transport

Starting from v2.0.0, gRpc is available to transfer data between agents and collectors. Currently, the default setting is

  • collector
    • thrift, grpc (both active)
  • agent
    • grpc (default)

    grpc

Maximum throughput limit feature

Feature to limit throughput per second for sampled transactions. You can use these features in the following cases

  • Limiting throughput per second for transactions started by this agent
  • Limiting throughput per second for transactions started by an external agent

Configuration example is shown below.

# Permits per second, if throughput is 0, it is unlimited.
# "New" is a transaction that is newly traced.
profiler.sampling.new.throughput=0
# "Continue" is a transaction that is already being tracked.
profiler.sampling.continue.throughput=0

You can check the results on the Inspector page. S.S.N - Skipped New, S.S.C - Skipped Continuation 간지기능

Supports externalized configuration

Pinpoint lets you externalize configuration that can change frequently

  • Agent https://github.com/naver/pinpoint/blob/master/doc/installation.md#profiles-2

  • Collector https://github.com/naver/pinpoint/blob/master/doc/installation.md#profiles

  • Web https://github.com/naver/pinpoint/blob/master/doc/installation.md#profiles-1

  • Flink https://github.com/naver/pinpoint/blob/master/doc/application-inspector.md#3-configuration

Notice for Pinpoint Web version upgrade

Important information: If you upgrade pinpoint-web to v2.0.0+ from version 1.8.5 or earlier, you need to change the schema of the alarm history table. The schema has been changed to allow multiple settings of the same alarm rule.

sql statement : ALTER TABLE alarm_history ADD rule_id INT(10) NOT NULL AFTER history_id;

Pinpoint Plugin

  • Started to support Elasticsearch Client Plugin
    • Servermap elastic1
    • Distributed calltree elastic2
  • Started to support Elasticsearch Client BBoss Plugin
    • Servermap bboss
    • Distributed calltree bboss2
  • Started to support Redisson Client Plugin
    • Servermap Screenshot 2019-11-18 at 19 24 41
    • Distributed calltree 레디슨2
  • Started to support Log4j2 Plugin
    • Example
        2015-04-04 14:35:20 [INFO](ContentInfoCollector:76) [txId : agent^14252^17 spanId : 1224] get content name : TECH
        2015-04-04 14:35:20 [INFO](ContentInfoCollector:123) [txId : agent^142533^18 spanId : 1231] get content name : OPINION
        2015-04-04 14:35:20 [INFO](ContentInfoCollector:12) [txId : agent^142533^19 spanId : 1246] get content name : SPORTS
        2015-04-04 14:35:20 [INFO](ContentInfoCollector:25) [txId : agent^142533^20 spanId : 1263] get content name : TECH
        2015-04-04 14:35:20 [INFO](ContentInfoCollector:56) [txId : agent^142533^21 spanId : 1265] get content name : NATIONAL
        2015-04-04 14:35:20 [INFO](ContentInfoCollector:34) [txId : agent^142533^22 spanId : 1278] get content name : OPINION
        2015-04-04 14:35:20 [INFO](ContentInfoService:55) [txId : agent^14252^18 spanId : 1231] check authorization of user
        2015-04-04 14:35:20 [INFO](ContentInfoService:14) [txId : agent^14252^17 spanId : 1224] get title of content
        2015-04-04 14:35:21 [INFO](ContentDAOImpl:14) [txId : agent^14252^17 spanId : 1224] execute query ...
        2015-04-04 14:35:21 [INFO](ContentDAOImpl:114) [txId : agent^142533^19 spanId : 1246] execute query ...    
        2015-04-04 14:35:20 [INFO](ContentInfoService:74) [txId : agent^14252^17 spanId : 1224] get top linking for content
        2015-04-04 14:35:21 [INFO](ContentDAOImpl:14) [txId : agent^142533^18 spanId : 1231] execute query ...
        2015-04-04 14:35:21 [INFO](ContentDAOImpl:114) [txId : agent^142533^21 spanId : 1265] execute query ...
        2015-04-04 14:35:22 [INFO](ContentDAOImpl:186) [txId : agent^142533^22 spanId : 1278] execute query ...
        2015-04-04 14:35:22 [ERROR](ContentDAOImpl:158) [txId : agent^142533^18 spanId : 1231]
      
    • Guide : link
  • Started to support Redisson Client Plugin
    • Servermap Screenshot 2019-11-18 at 19 24 41
    • Distributed calltree 레디슨2
  • Started to support Spring WebFlux Plugin
    • Servermap spring-webflux-servermap-1
    • Distributed calltree spring-webflux-calltree-1
  • Started to support MS Sql Plugin
    • Servermap mssql servermap
    • Distributed calltree mssql calltree

Special Thanks

AlphaWang, EricHetti, SRE-maker, dyyim741, gwagdalf , immusk, kwangil-ha, licoco, qq295190549, tankilo, upgle, widian, yin-bp, yjqg6666, zifeihan

Thank you all for your wonderful contributions. Pinpoint v2.0.0 release is enriched thanks to the contributors.

If there is someone who was inadvertently excluded, please let us know.

Upgrade consideration

HBase compatibility table:

Pinpoint Version HBase 0.98.x HBase 1.0.x HBase 1.2.x HBase 2.0.x
1.5.x not tested yes not tested no
1.6.x not tested not tested yes no
1.7.x not tested not tested yes no
1.8.x not tested not tested yes no
2.0.x not tested not tested yes optional

Agent compatibility to Collector table:

Agent Version Collector 1.5.x Collector 1.6.x Collector 1.7.x Collector 1.8.x Collector 2.0.x
1.5.x yes yes yes yes yes
1.6.x not tested yes yes yes yes
1.7.x no no yes yes yes
1.8.x no no no yes yes
2.0.x no no no no yes

Agent compatibility to Collector table:

Pinpoint Version Agent Collector Web
1.5.x 6-8 7-8 7-8
1.6.x 6-8 7-8 7-8
1.7.x 6-8 8 8
1.8.0 6-10 8 8
1.8.1+ 6-11 8 8
2.0.x 6-11 8 8

Supported Modules

  • JDK 6+
  • Supported versions of the * indicated library may differ from the actual version.
Title Instrumented Library Min Max Comment  
Tomcat   6.x 9.x    
Jetty   8.x 9.x    
JBoss   6.x 7.x    
Resin   4.x 4.x    
Websphere   6.x 8.x    
Vertx   3.3 3.5    
Weblogic   10.x 12.x    
Undertow          
Jasper          
           
OpenWhisk whisk.core        
           
SpringMVC Framework spring-webmvc 3.0.7 5.2.3  
Spring Web spring-web 4.1.2 4.3.26  
Spring RabbitMQ spring-rabbit 1.3.3 2.2.3  
Spring IBatis spring-ibatis 2.0.7 2.0.8  
Spring MyBatis mybatis-spring 1.1.0 1.3.3  
*Spring Boot spring-boot-autoconfigure        
*Spring Webflux spring-webflux        
           
MyBatis mybatis 3.0.3 3.3.1  
Hystrix hystrix-core 1.4.0 1.5.18  
           
JDKHTTP          
Httpclient3 commons-httpclient 3.0 3.1  
Httpclient4 httpclient 4.0 4.5.4  
Thrift libthrift 0.9.1 0.13.0  
Google HTTP Client google-http-client 1.19.0 1.34.1  
AsyncHttpClient async-http-client 1.7.24 1.8.17  
OkHttp okhttp 2.0.0 3.10.0  
Apache HttpAsyncClient httpasyncclient 4.0 4.1.3  
*Akka HTTP akka-http_2.12 10.1.0 10.1.x    
*Kafka kafka-clients 0.11.0.1      
GRPC grpc-stub 1.8.0 1.27.0  
           
Log4j log4j 1.2.16 1.2.17  
Logback logback-classic 1.0.13 1.2.3  
Log4j2 log4j-core 2.0 2.12.1  
           
*Arcus arcus-java-client 1.7.0 1.11.4    
*MsSQL (jTDS) jtds 1.2.8      
*MsSQL mssql-jdbc        
HikariCP HikariCP-java6 2.3.0 2.3.13  
Jackson-mapper-asl jackson-mapper-asl 1.0.1 1.8.11  
Jackson Databind jackson-databind 2.0.6 2.10.2  
MariaDB Connector/J mariadb-java-client 1.3.0 2.5.4  
MongoDB Java Driver mongodb-driver 3.0.0 3.12.1  
Elasticsearch bboss-elasticsearch-rest-jdbc 0.0.0 0.0.0  
Elasticsearch elasticsearch-rest-high-level-client 6.0.0 7.6.0  
Datastax Java Driver cassandra-driver-core 2.0.10 3.7.2  
Druid druid 1.0.0 1.1.21  
*Cubrid cubrid-jdbc-driver 8.4.1 10.0.0    
*Commons DBCP commons-dbcp 1.0 1.4    
*Commons DBCP2 commons-dbcp2 2.0 2.5.0    
*HBase hbase-client 1.2.6.1 1.2.6.1    
*MySQL mysql-connector-java 5.0 8.x    
*Oracle JDBC Driver ojdbc        
*PostgreSQL JDBC Driver postgresql        
*Redis jedis 2.4.2      
*Redis lettuce-core 5.0.0 5.1.2    
*Redis redisson 3.10.0 3.10.4    
           
Apache CXF cxf-rt-rs-client 3.0.0 3.3.5  
Netty netty-all 4.1.0 4.1.45  
ActiveMQ activemq-all 5.1.0 5.15.11  
RxJAVA rxjava 1.0.0 1.3.8  
RabbitMQ amqp-client 2.7.0 5.8.0  
           
Gson gson 1.1 2.8.3  
Json json-lib 1.0 2.2.2  
FastJson fastjson 1.2.10 1.2.62  
Dubbo dubbo 2.5.1 2.6.7