Releases: pinpoint-apm/pinpoint
2.4.0 release notes
Security Update
- Log4j2 RCE
- CVE-2021-44832
- Agent : log4j 2.12.4
- Server module : log4j 2.17.1
- Spring RCE
- spring framework : 5.3.20
Important Changes
- Hbase schema changed #8348
hbase/bin> ./hbase shell
hbase> alter 'ApplicationTraceIndex', { NAME => 'M', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }
or
hbase> alter 'ApplicationTraceIndex', { NAME => 'M', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' , COMPRESSION => 'SNAPPY'}
- Bump Flink version (1.7.1 -> 1.14.2) #8550
Upgrade to Flink 1.14.x or higher is recommended
Key Features
Java11 support
- #8470 Pinpoint server module no longer supports java8
Side Bar UI (experimental)
Apdex score
Support Kotlin Coroutines Plugin
Pinpoint Banner
Bug Fixes
- Fixed a bug where the realtime feature did not work intermittently
- #8811 Backport CURATOR-525
- Fixed a bug where very long traces were broken
- #8597 Fix short overflow of sequence in Span
What's Changed
- [#8376] web ui, highlight exception rows in call tree by @yjqg6666 in #8377
- [#8394] Fix the collector for Hbase2 does not work by @koo-taejin in #8396
- [#8399] fix broken image link by @feelform in #8400
- [#8402] Add ServletFilter based ErrorHandler by @emeroad in #8403
- [#8372] Replace HTableMultiplexer with BufferedMutator by @emeroad in #8373
- Fix show progress when complete in callstack by @koo-taejin in #8430
- [#6821] Fix servermap instance list factory by @jaehong-kim in #8447
- [#8470] Update Java11 by @emeroad in #8471
- [#8472] Support Kotlin Coroutines Plugin by @koo-taejin in #8475
- [#8501] Disable unnecessary JNDI by @emeroad in #8502
- [#8513] Fix https in jdk-http-plugin by @jaehong-kim in #8514
- [#8313] Add null check to kafka header values to prevent NPE by @ga-ram in #8527
- [#8503] Fix malformed logging configuration for agent by @kjkmadness in #8476
- [#noissue] [WEB/UI] add webhook url & alias validation; max length by @BillionaireDY in #8504
- [#8543] Fix app proxy header by @jaehong-kim in #8545
- [#8544] Enhanced Pinpoint header validation by @emeroad in #8546
- [#8571] Add maven-central-deploy by @emeroad in #8572
- [#8480] add global navigation side bar by @BillionaireDY in #8481
- [#8072] Fix bind.pinpoint api to return json by @emeroad in #8575
- [#8564] Update vertx-4.x plugin by @jaehong-kim in #8565
- [#8580] Add Pinpoint Banner by @ga-ram in #8581
- [#8486] Add default configuration for experimental feature by @intr3p1d in #8458
- [#8589] Correct K unit in memory side by @binDongKim in #8592
- [#8595] Add agent-level trace limit by sequence by @Kangji in #8596
- [#8597] Convert Sequence Data Type into Int by @Kangji in #8607
- [#8614] Support Empty database in MYSQL by @emeroad in #8615
- [#8617] Apply Awaitability to testcase by @emeroad in #8618
- [#8619] Extract zookeeper cluster module by @emeroad in #8620
- [#8374] show date of start time as a tooltip in web call tree by @yjqg6666 in #8375
- [#8646] Removed permission logic to avoid confusion by @minwoo-jung in #8647
- [#4044] Add Apdex score in getServerMapData by @intr3p1d in #8425
- [#8372] Restore return type of TraceDao by @emeroad in #8656
- [#8663] Fix to generate DummySpanEvent on stack overflow of callstack by @emeroad in #8664
- [#8642] Disable async trace to limit span event by @Kangji in #8643
- [#8674] Add ArrayArgumentUtils for argument access by @emeroad in #8675
- [#noissue] [FE] add cpp icon by @BillionaireDY in #8686
- [#8684] Remove unnecessary spanlock of cluster manager by @emeroad in #8685
- [#noissue] Improved znode debuggability for collector in Zookeeper by @emeroad in #8690
- [#8691] Separate hbase connection for batch operation by @emeroad in #8692
- [#noissue] Display pointing time in inspector by @binDongKim in #8705
- [#8699] Add getLambda method by @jaehong-kim in #8700
- [#8689] Update reactor plugins by @jaehong-kim in #8707
- [#8622] Fix thrift plugin server by @jaehong-kim in #8709
- [#8726] Update elasticsearch plugin by @jaehong-kim in #8727
- [#8755] Refactor Application Metric by @emeroad in #8756
- [#8757] Remove duplicate agent metrics by @emeroad in #8760
- [#8762] apply throttled logger by @donghun-cho in #8751
- [#8768] Remove duplicate StatCodec by @emeroad in #8769
- [#8771] Refactor Chart component by @emeroad in #8772
- [#8778] Apply SummaryStatistics by @emeroad in #8779
- [#8780] Add ContentLength Util by @emeroad in #8781
- [#8348] Add secondary index to ApplicationTraceIndex by @emeroad in #8349
- [#8806] Refactor HashMap for HttpResponse to Response object by @emeroad in #8808
- [#8811] Backport CURATOR-525 by @emeroad in #8812
- [#8813] Remove unnecessary web resources from flink binary by @emeroad in #8814
- [#8463] Replace slf4j with log4j2 by @emeroad in #8464
- [#8834] Remove static isHeaderRecorded field from kafka plugin by @emeroad in #8835
- [#8865] Fix inconsistent synchronization in volatile field by @emeroad in #8866
- [#8877] Fix ActiveRequest not working by @emeroad in #8880
- [#8843] Add time series Apdex score chart by @donghun-cho in #8844
- [#8661] Fix Hbase interceptor plugin to handle versioned getTableName by @intr3p1d in #8662
Dependencies
- [#8550] Upgrade flink version(1.7.1 -> 1.14.2) by @minwoo-jung #8550
- [#8509] Bump Log4j 2.17.0 by @emeroad in #8530
- [#8519] Bump log4j 2.12.3 for JDK7 by @emeroad in #8520
- [#8577] Fix log4j2 CVE-2021-44832 by @emeroad in #8578
- [#8491] Fix Log4j2 RCE vulnerability by @emeroad in #8492
- [#8407] Upgrade Spring Lib by @emeroad in #8408
- [#8734] Update SpringFramework for Spring RCE by @emeroad in #8735
- [#8861] update spring-framework 5.3.18 -> 5.3.20 by @donghun-cho in #8862
- [#8745] Bump commons-compress from 1.20 to 1.21 by @dependabot in #8744
- [#8747] Bump jackson-databind from 2.12.5 to 2.12.6.1 by @dependabot in #8746
- [#8753] Bump commons-io from 2.6 to 2.11.0 by @emeroad in https://github.com/pinpoint-apm/p...
2.4.0-RC1
Security Update
- Log4j2 RCE
- CVE-2021-44832
- Agent : log4j 2.12.4
- Server module : log4j 2.17.1
- Spring RCE
- spring framework : 5.3.18
Important Changes
- Hbase schema changed #8348
hbase/bin> ./hbase shell
hbase> alter 'ApplicationTraceIndex', { NAME => 'M', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' }
or
hbase> alter 'ApplicationTraceIndex', { NAME => 'M', TTL => 5184000, DATA_BLOCK_ENCODING => 'PREFIX' , COMPRESSION => 'SNAPPY'}
- Bump Flink version (1.7.1 -> 1.14.2) #8550
Upgrade to Flink 1.14.x or higher is recommended
Key Features
Java11 support
- #8470 Pinpoint server module no longer supports java8
Side Bar UI (experimental)
Apdex score
Support Kotlin Coroutines Plugin
Pinpoint Banner
Bug Fixes
- Fixed a bug where the realtime feature did not work intermittently
- #8811 Backport CURATOR-525
- Fixed a bug where very long traces were broken
- #8597 Fix short overflow of sequence in Span
What's Changed
- [#8376] web ui, highlight exception rows in call tree by @yjqg6666 in #8377
- [#8394] Fix the collector for Hbase2 does not work by @koo-taejin in #8396
- [#8399] fix broken image link by @feelform in #8400
- [#8402] Add ServletFilter based ErrorHandler by @emeroad in #8403
- [#8372] Replace HTableMultiplexer with BufferedMutator by @emeroad in #8373
- Fix show progress when complete in callstack by @koo-taejin in #8430
- [#6821] Fix servermap instance list factory by @jaehong-kim in #8447
- [#8470] Update Java11 by @emeroad in #8471
- [#8472] Support Kotlin Coroutines Plugin by @koo-taejin in #8475
- [#8501] Disable unnecessary JNDI by @emeroad in #8502
- [#8513] Fix https in jdk-http-plugin by @jaehong-kim in #8514
- [#8313] Add null check to kafka header values to prevent NPE by @ga-ram in #8527
- [#8503] Fix malformed logging configuration for agent by @kjkmadness in #8476
- [#noissue] [WEB/UI] add webhook url & alias validation; max length by @BillionaireDY in #8504
- [#8543] Fix app proxy header by @jaehong-kim in #8545
- [#8544] Enhanced Pinpoint header validation by @emeroad in #8546
- [#8571] Add maven-central-deploy by @emeroad in #8572
- [#8480] add global navigation side bar by @BillionaireDY in #8481
- [#8072] Fix bind.pinpoint api to return json by @emeroad in #8575
- [#8564] Update vertx-4.x plugin by @jaehong-kim in #8565
- [#8580] Add Pinpoint Banner by @ga-ram in #8581
- [#8486] Add default configuration for experimental feature by @intr3p1d in #8458
- [#8589] Correct K unit in memory side by @binDongKim in #8592
- [#8595] Add agent-level trace limit by sequence by @Kangji in #8596
- [#8597] Convert Sequence Data Type into Int by @Kangji in #8607
- [#8614] Support Empty database in MYSQL by @emeroad in #8615
- [#8617] Apply Awaitability to testcase by @emeroad in #8618
- [#8619] Extract zookeeper cluster module by @emeroad in #8620
- [#8374] show date of start time as a tooltip in web call tree by @yjqg6666 in #8375
- [#8646] Removed permission logic to avoid confusion by @minwoo-jung in #8647
- [#4044] Add Apdex score in getServerMapData by @intr3p1d in #8425
- [#8372] Restore return type of TraceDao by @emeroad in #8656
- [#8663] Fix to generate DummySpanEvent on stack overflow of callstack by @emeroad in #8664
- [#8642] Disable async trace to limit span event by @Kangji in #8643
- [#8674] Add ArrayArgumentUtils for argument access by @emeroad in #8675
- [#noissue] [FE] add cpp icon by @BillionaireDY in #8686
- [#8684] Remove unnecessary spanlock of cluster manager by @emeroad in #8685
- [#noissue] Improved znode debuggability for collector in Zookeeper by @emeroad in #8690
- [#8691] Separate hbase connection for batch operation by @emeroad in #8692
- [#noissue] Display pointing time in inspector by @binDongKim in #8705
- [#8699] Add getLambda method by @jaehong-kim in #8700
- [#8689] Update reactor plugins by @jaehong-kim in #8707
- [#8622] Fix thrift plugin server by @jaehong-kim in #8709
- [#8726] Update elasticsearch plugin by @jaehong-kim in #8727
- [#8755] Refactor Application Metric by @emeroad in #8756
- [#8757] Remove duplicate agent metrics by @emeroad in #8760
- [#8762] apply throttled logger by @donghun-cho in #8751
- [#8768] Remove duplicate StatCodec by @emeroad in #8769
- [#8771] Refactor Chart component by @emeroad in #8772
- [#8778] Apply SummaryStatistics by @emeroad in #8779
- [#8780] Add ContentLength Util by @emeroad in #8781
- [#8348] Add secondary index to ApplicationTraceIndex by @emeroad in #8349
- [#8806] Refactor HashMap for HttpResponse to Response object by @emeroad in #8808
- [#8811] Backport CURATOR-525 by @emeroad in #8812
- [#8813] Remove unnecessary web resources from flink binary by @emeroad in #8814
- [#8463] Replace slf4j with log4j2 by @emeroad in #8464
- [#8834] Remove static isHeaderRecorded field from kafka plugin by @emeroad in #8835
Dependencies
- [#8550] Upgrade flink version(1.7.1 -> 1.14.2) by @minwoo-jung #8550
- [#8509] Bump Log4j 2.17.0 by @emeroad in #8530
- [#8519] Bump log4j 2.12.3 for JDK7 by @emeroad in #8520
- [#8577] Fix log4j2 CVE-2021-44832 by @emeroad in #8578
- [#8491] Fix Log4j2 RCE vulnerability by @emeroad in #8492
- [#8407] Upgrade Spring Lib by @emeroad in #8408
- [#8734] Update SpringFramework for Spring RCE by @emeroad in #8735
- [#8745] Bump commons-compress from 1.20 to 1.21 by @dependabot in #8744
- [#8747] Bump jackson-databind from 2.12.5 to 2.12.6.1 by @dependabot in #8746
- [#8753] Bump commons-io from 2.6 to 2.11.0 by @emeroad in #8754
- [#8785] Bump javax.annotation-api from 1.3.2 to 1.3.5 by @emeroad in #8786
- [#8791] Bump from javax.activation-api to jakarta.activation-api by @emeroad in #8792
- [#8793] Bump from validation-api to jakarta.validation-api by @emeroad in #8794
- [#8795] Bump javax.transaction from to 1.1 to 1.3.3 by @emeroad in #8796
- [#8798] Bump hbase-client from 2.4.2 to 2.4.11 by @emeroad in #8799
- [#8828] Bump zookeeper from 3.4.14 to 3.5.9 for hbase 2.x by @emeroad in https://gi...
v2.3.3
Security Patch Release
- Fix Log4j2 Security Vulnerabilities
- CVE-2021-45105, CVE-2021-45046
- Agent : log4j 2.12.3
- Server module : log4j 2.17.0
Release Notes
- [#8510] Backport: Bump Log4j 2.17.0 by @emeroad in #8531
- [#8521] Backport: Bump log4j 2.12.3 for JDK7 by @emeroad in #8537
- [#8507] Fix malformed logging configuration for agent by @kjkmadness in #8508
- [#8313] Add null check to kafka header values to prevent NPE by @ga-ram in #8529
- [#8515] Backport: Fix https in jdk-http-plugin by @jaehong-kim in a7f50be
- [#8501] Disable unnecessary JNDI by @emeroad in #8506
- [#8547] Backport fix app proxy header by @jaehong-kim in #8548
- [#8541] Backport: Enhanced Pinpoint header validation by @emeroad in #8546
Thank You
Thank you all.
If there is someone who was inadvertently excluded, please let me know.
@kjkmadness
2.3.2 release notes
Security Patch Release
- Fix Log4j2 Security Vulnerabilities
#8489 CVE-2021-44228
Thank You
Thank you all.
If there is someone who was inadvertently excluded, please let me know.
@zerone12
2.3.1 release notes
Notice
We have moved our documentation to Gitbook.
https://pinpoint-apm.gitbook.io/pinpoint
Experimental Features
How to enable the experimental function
ServerMap realtime mode (#6980)
Scatter chart heatmap mode (#8218)
with data sampling, better memory usage, better performance, and more intuitive visualization
Key Features
New Timeline (#7664)
To provide more features via appling perfetto(https://github.com/google/perfetto).
Support webhook menus (#8132)
Please refer to pinpoint gitbook
Support percent sampler (#6617)
(Thank you @yjqg6666 for your contribution)
- pinpoint.config
# support 2 types, COUNTING(default) and PERCENT.
# If this value set to COUNTING(default), sampling rate is 1/n.
# If this value set to PERCENT, sampling rate is n%.
profiler.sampling.type=PERCENT
# if it's PERCENT, then first x transactions out of y transactions will be sampled.
# Support from 100% to 0.01%
# eg. 100: 100% 50: 50% 0.01: 0.01%
profiler.sampling.percent.sampling-rate=100
Support TLS (#8128)
Support TLS Connection for agent and collector
Add user proxy plugin(#8122)
Release Notes
Plugins
Enhancements
Bugs
Configuration
Cleanup
Dependency
Notice for Downloadfile
pinpoint-hbase2-collector-boot-2.3.1-p1.jar in download file is the version with the a887052 feature.
Thank You
to
whom provided or suggested valuable features
whom fixed or reported bugs
whom showed interest in Pinpoint and shared it to others.
Thank you all.
If there is someone who was inadvertently excluded, please let me know.
@aalinyu
@Duytq7
@mariusssi
@yjqg6666
2.3.0 release notes
Key Features
Support Dark Mode
- Servermap
- Distributed callstack
- Inspector
- Issue : #7990
Support Avg & Max response summary
Support Async SDK support
- Distributed callstack
- Document
https://github.com/pinpoint-apm/pinpoint/blob/master/agent-sdk/README.md - Issue : #7654, #7750
(Thank you @zhangyinhao1234 for your contribution)
Support Agent Name
- Description
Pinpoint has been resolved 24 character limit via agentName.
# Pinpoint OPTS
-javaagent:${PINPOINT_BOOTSTRAP} -Dpinpoint.agentName=pinpoint_has_been_resolved_24_character_limit_agentName -Dpinpoint.applicationName=${APPLICATION_NAME}
Separated into batch logic module
In the future, the module is separated so that the batch is operated as a separate process instead of running the batch job in the web.
Please refer to the guide document below for how to run batch.
- issue : #7808
- Document
https://github.com/pinpoint-apm/pinpoint/blob/v2.3.0/doc/alarm.md
Support webhook notifications for alarms
- Document
https://github.com/pinpoint-apm/pinpoint/blob/v2.3.0/doc/alarm.md - Issue : #7142
(Thank you @cwJohnPark, @doll6777, @imbf for your contribution)
Support Hbase2
- Issue : #7808
Release Notes
Plugins
Enhancements
Bugs
Cleanup
Dependency
Document
Thank You
to
whom provided or suggested valuable features
whom fixed or reported bugs
whom showed interest in Pinpoint and shared it to others.
Thank you all.
If there is someone who was inadvertently excluded, please let me know.
@brito-wang
@cwJohnPark
@davide-parini
@doll6777
@hoverwinter
@imbf
@kkojaeh
@linux0x5c
@messi-gao
@stanvl
@tankilo
@theLazyCat775
2.2.2 release notes
Release Notes
Notice
There is a bug in the Reactor-netty plugin (from 2.0.0 to 2.2.1) that to insert wrong endPoint.
In general, there is no problem, but it can be a problem in situations where the collector is a high load environment.
To prevent this, it is recommended to upgrade to version 2.2.2 or higher when using the Reactor-netty plugin.
issue : #7659
Enhancements
[#7640] Solve compatibility with v2.3 collector module
[#7462] Add C/C++ servertype
Bugs
[#7694] Skip handling, If there is no cpuload data in thrift stat
[#7679] Prevent errors that may occur due to lambda classes when executing retransform
[#7628] Fix profile.include
configuration not worked
[#7659] Fix inserting wrong endpoint in Reactor-netty plugin
Thanks for contributions
If there is someone who was inadvertently excluded, please let me know.
@snaigle
2.2.1 release notes
Key Features
Add Reactor-Netty HTTP Client Plugin
-
issue : #7463
-
Compatibility
- Spring WebFlux 2.4 or higher is supported.
- Reactor Netty 1.0 or higher is supported.
Support OS environment variable
Pinpoint Agent supports OS environment variable.
$ PROFILER_SAMPLING_RATE=10
- Configuration order
- Java System properties
- OS environment variables
- Agent external configuration
- Agent profile configuration /profiles/${profile}/pinpoint.config
- Agent configuration /pinpoint-env.config
- issue : #7541
Support @Value Annotation in agent
- Before
this.collectorSpanServerIp = profilerConfig.readString("profiler.collector.span.ip", DEFAULT_IP, placeHolderResolver);
this.collectorSpanServerPort = profilerConfig.readInt("profiler.collector.span.port", 9996);
- After
@Value("${profiler.collector.span.ip}")
private String collectorSpanServerIp = DEFAULT_IP;
@Value("${profiler.collector.span.port}")
private int collectorSpanServerPort = 9996;
- issue : #7551
Notice
Fixed problem that gRPC-stream does not work with below messages. (#7375)
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:1
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:2
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:3
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:4
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:5
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:6
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:7
2020-10-23 11:21:57 [INFO ](c.n.p.p.s.g.SpanGrpcDataSender ) Discard PSpanMessage message, stream not ready. discardCount:8
! Notice for version upgrade
====================================
========== !! IMPORTANT ==========
If you use grpc transport in Pinpoint Agent, it is strongly recommended to version 2.2.1.
issue : #7375
Notice for batch
batch was run in the background of pinpoint-web server until v2.2.0. From v2.2.1 it will be dealt with in pinpoint-batch server.
Since the batch logic(code) in pinpoint-web will be deprecated in the future, we advice you to transfer the execution of batch to pinpoint-batch server.
Release Notes
Plugins
Enhancements
Bugs
Cleanup
Thank You
to
whom provided or suggested valuable features
whom fixed or reported bugs
whom showed interest in Pinpoint and shared it to others.
Thank you all.
If there is someone who was inadvertently excluded, please let me know.
@imbf
@yjqg6666
2.2.0 release notes
Key Features
End of support for JDK6
* issue : #7428Support Epoll channel type in gRpc
- configuration
## pinpoint.config
## AUTO, NIO, EPOLL
profiler.transport.grpc.agent.sender.channel-type=AUTO
## pinpoint-collector.properties
## AUTO, NIO, EPOLL
collector.receiver.grpc.span.channel-type=AUTO
- issue : #7433
Auto generate AgentId
AgentID is no longer a required confuguration.
If AgentID is not present, the agent automatically generates it.
11-05 17:22:13.251 INFO AgentIdResolver : Failed to resolve AgentId(-Dpinpoint.agentId)
11-05 17:22:13.409 INFO AgentIdResolver : 'BYDnVJbPR6ODxGK61qTT1A' AgentId is automatically generated
11-05 17:22:13.409 INFO IdValidator : check SystemProperties(-D) applicationName:emeroad-app
11-05 17:22:13.410 INFO AgentIdResolver : SystemProperties(-D) emeroad-app=emeroad-app
Release Notes
Bugs
[#7442] Fix NPE when SocketChannel state is connecting in KafkaPlugin
[#7455] Fix race condation of PingStreamContext