Skip to content

Releases: pinpoint-apm/pinpoint

3.1.0 release

Choose a tag to compare

@intr3p1d intr3p1d released this 20 May 23:14

Highlights

ApplicationName: 254-Character Support

-Dpinpoint.modules.uid.version=v3
# This property must be added when starting the agent.
# It is compatible with collector versions 3.1.0 and higher.

The maximum length of applicationName has been expanded from 24 to 254 characters, aligning it with SERVICE_NAME_MAX_LEN.

Impact: Users with long, structured application identifiers (e.g., team.service.environment.region) can now register them as-is, removing the prior naming constraint that forced abbreviations.

ServerMap V3 — Performance Improvements

ServerMap has been rebuilt as ServerMap V3 with a redesigned storage layout and query path.

Impact: Faster initial render and time-range navigation on large topologies, lower HBase read amplification, and improved support for 254-character ApplicationName values.

GrpcBatchDataSender — Unary Span Transport

A new span transport, SpanBatchGrpcDataSender, replaces the long-lived gRPC bidirectional stream (SpanGrpcDataSender) with a unary SendSpanList RPC that ships spans in independent batches.

Starting from 3.1.0, BATCH is the default in both local and release profiles:

# pinpoint-root.config
profiler.transport.grpc.span.sender.type=BATCH    # BATCH | STREAM

Collector-side support: the receiver-side SpanService exposes the new SendSpanList RPC and returns batch-level results.
Requires a 3.1.0+ collector. Older collectors should keep sender.type=STREAM.

Impact: simpler operational model (no stream restarts on partial failures), better resilience behind L7 proxies and rolling collector deploys,
and tunable batching that lets operators trade latency versus RPC overhead per workload.

OpenTelemetry Metric Collection

Pinpoint Collector now supports receiving metrics via the OTLP protocol.
Applications can send metrics using the OpenTelemetry SDK or OpenTelemetry Collector without requiring the Pinpoint Agent.

📖 Manual

Heatmap View

A new Heatmap view is now available alongside Scatter Chart.
While Scatter Chart plots individual transactions, Heatmap provides a statistics-based visualization for faster data overview.

image

📖 Manual

Error Reason Categorization

Errors are now categorized (e.g. exception, http-status, sql) and the category is shown on the call stack in the web UI,
so you can tell at a glance why a span was marked as an error.

997ae8c6-66a9-4542-8198-f77b7455a94e

Opt-in via agent configuration:

profiler.error.enable=true

Choose which categories should mark a span as an error (default: all enabled):

# Allow-list
profiler.error.mark=http-status,sql
# Or deny-list
profiler.error.mark.exclude=exception

JDBC SQL Cache Expiration

The SQL cache now expires entries after a configurable time, causing the agent to re-send the metadata periodically.

# Default: 168 hours (7 days). Set 0 or negative to disable.
profiler.jdbc.sqlcacheexpirehours=168

TraceIndex — Scatter Chart and Transaction List Performance Improvements

Scatter Chart and Transaction List now use the new TraceIndex table for transaction lookup and filtering.

Impact: Faster scatter chart loading, improved filtering efficiency for large transaction volumes, and support for longer applicationName values.

Application and Agent List Performance Improvements

Application List and Agent List now use the new Application and AgentId tables with optimized lookup and active agent validation.

Impact: Faster application and agent list queries with reduced backend processing overhead.

System Metric — Multi-table Mode

System Metric now supports multi-table mode for improved performance and scalability in large environments.


Deprecation

Flink-based Inspector

The legacy Inspector that relied on Apache Flink for statistics aggregation has been deprecated.
The new Inspector uses Apache Pinot for data collection and display. Please migrate to the new Pinot-based Inspector.


Compatibility Improvements

  • Apache HttpClient 5.6
  • MongoDB Java Driver 5.6
  • Kafka 4.x
  • async-http-client 3.x
  • ClickHouse Java Client V2 (0.8.0)
  • Spring R2DBC plugin: io.asyncer:r2dbc-mysql support
  • New plugin: IBM DB2

Observability and Tracing Improvements

  • Reactor / reactor-netty: reduced excessive span event generation to lower trace noise
  • Kafka Streams: entry point changed so requests are traced individually rather than only at the queue polling level
  • Spring Kafka: new entry point options for KafkaMessageListenerContainer, including container-level tracing and error marking
  • Lettuce Pub/Sub: transaction tracing for RedisPubSubListener implementations
  • HTTP clients (Apache HttpClient, JDK HTTP, Ning, Google, OkHttp): configurable mark.error option to control whether client-side errors mark a transaction as failed

What's Changed

Read more

3.0.5 release

Choose a tag to compare

@intr3p1d intr3p1d released this 01 Apr 23:30

What's Changed

Full Changelog: v3.0.4...v3.0.5

3.0.4 release

Choose a tag to compare

@intr3p1d intr3p1d released this 10 Nov 08:25

Improvements

  • [Agent] Enhanced Reactor tracing
  • [Agent] Added support for nested JAR file systems used in Spring Boot
  • [Agent] Added Kafka Streams support
    -Dprofiler.kafka-streams.trace.process=true
  • [Agent] Added support for Java 26
  • [Collector] Improved CPU usage

Bug Fixes

  • [Agent] Fixed an issue where annotation values were not sent to the collector when the value was null

What's Changed

Full Changelog: v3.0.3...v3.0.4

3.0.3 release

Choose a tag to compare

@intr3p1d intr3p1d released this 12 Jun 06:19

New Plugins

  • Add S3(Simple Storage Service) client plugin #12457
  • Update the entry point for kafka stream #12378
  • Update kafka plugin for compatibility with kafka 4.x #12376
  • Update spring kafka container entry point of kafka plugin #12218
  • Update forwarding server call tracking in grpc plugin #12564

BugFix

  • Fix NPE of elasticsearch plugin #12413

From version 3.x, the executable JAR files will be uploaded to Maven Central Repository.
https://repo1.maven.org/maven2/com/navercorp/pinpoint/

What's Changed

Full Changelog: v3.0.2...v3.0.3

3.0.2 release

Choose a tag to compare

@intr3p1d intr3p1d released this 19 Mar 09:50

Key Features

Removal of Comments in SQL Queries

  • issue: #12061.
  • Comments are no longer collected with the SQL queries by default.
    In case you need them, please use the configuration below.
profiler.jdbc.removecomments=false

New Plugins

  • Update Update io.asyncer:r2dbc-mysql of spring r2dbc plugin #12077
  • Update kafka plugin for compatibility with kafka 3.x version #11926
  • Update reactor subscriber.subscribeOn #12079

BugFix

  • Fix java.lang.NoClassDefFoundError: java/sql/Date in spring data r2dbc plugin #12117
  • Fix datetime/time columns config for Ingestion Aggregations #12180
  • Fix missing dependency of pinpoint-batch #11984

From version 3.x, the executable JAR files will be uploaded to Maven Central Repository.
https://repo1.maven.org/maven2/com/navercorp/pinpoint/


What's Changed

Full Changelog: v3.0.1...v3.0.2

3.0.1 release

Choose a tag to compare

@intr3p1d intr3p1d released this 23 Oct 03:51

Key Features

New Plugins

  • Support arcus java client 1.13.4 #11593
  • Support mariadb java client 3.x #11578
  • Support ktor #11400

BugFix

  • Fix MongoDB FindPublisherImpl method interceptor #11156
  • Fix interceptor holder lazyloading #11154
  • Fix DirectByteBuffer leak in active thread count #11529

New Features

  • Add mini charts to the right side when viewing grouped Error Analysis
    ss_error-analysis2
    ss_error-analysis3

Support SQL cache bypassing

  • If an SQL query exceeds a specified length, bypass the SQL cache to reduce memory usage and improve cache hit rates.
  • #11166
  • configuration
# Do not cache queries longer than 2048 characters
# If set to -1, SQL queries will always be cached
profiler.jdbc.sqlcachelengthlimit=2048

Support trimming of long SQL queries

# Limit query length to 65536 characters (agent-side)
# Queries longer than this will be trimmed before being sent to the collector
profiler.jdbc.maxsqllength=65536

# Limit query length to 65536 characters (collector-side)
# Queries longer than this will be trimmed before being inserted into the database
collector.metadata.sql.max-length=65536

From version 3.x, the executable JAR files will be uploaded to Maven Central Repository.
https://repo1.maven.org/maven2/com/navercorp/pinpoint/

What's Changed

Read more

3.0.0 Release Notes

Choose a tag to compare

@intr3p1d intr3p1d released this 30 May 07:48

Key Features

Migrating to React

The front-end framework has been switched from Angular to React.
For more details, see the issue.

Error Analysis

Enables detailed analysis of exception data collected by the agent.
error_analysis_01
manual

New Inspector

Stores inspector data in Apache Pinot, replacing the previous system which stored data via Flink in HBase. For more details, see the issue.
manual

Metric Storage Migration to Pinot

The storage system for metrics has been migrated to Pinot.

New Plugins

  • Support JDK HttpClient(java 11) #10656
  • Support ClickHouse #9794
  • Support Vert.x 4.5.0 #10534
  • Supports apache environment variables for Proxy Server Monitoring #9892
  • Improved support for Reactor(error, threading, retry, timeout) #10323, #10323, #10418, #10454
  • Improved support for Spring 6.x version #10832, #10615
  • Improve the error handling of spring tx #10492

BugFix

  • Fix Web CallTree screen that only shows one child when kafka is in multichild state #9905
  • Fix Web Active Request chart where the value of the very slow item was constantly increasing #9958
  • Fix repeatedly logged HTTP response values in WAS (tomcat, jetty, etc.) plugins #10355
  • Fix node was a null value on the Web CallTree #10517
  • Fix out-of-sync status value in a multi-threading environment during kotlin tracking #10612
  • Fix destination DB was marked UNKNOWN at the time of MongoDb tracking #10940
  • Fix repeatedly tracked getInputStream() method calls when using the HttpURLConnection class with JDK HTTP calls #11057

Important Update Information

Spring Batch 5 Update
This release includes an update to Spring Batch 5. Please note that schema modifications are required.
End of support for hbase 1.x
HBase1 support has ended. We recommend migrating to HBase2.

From version 3.x, the executable JAR files will be uploaded to Maven Central Repository.

https://repo1.maven.org/maven2/com/navercorp/pinpoint/

What's Changed

Read more

2.5.4 Release Notes

Choose a tag to compare

@intr3p1d intr3p1d released this 18 Apr 10:24

What's Changed

New Contributors

Full Changelog: v2.5.3...v2.5.4

2.5.3 Release Notes

Choose a tag to compare

@emeroad emeroad released this 11 Oct 01:44

What's Changed

Full Changelog: v2.5.2...v2.5.3

2.5.2 Release Notes

Choose a tag to compare

@emeroad emeroad released this 14 Jun 01:57

What's Changed

Full Changelog: v2.5.1...v2.5.2