github pinpoint-apm/pinpoint v3.1.0
3.1.0 release

latest release: latest
3 hours ago

Highlights

ApplicationName: 254-Character Support

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.

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

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.

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

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

Don't miss a new pinpoint release

NewReleases is sending notifications on new releases.