Download Latest Version 3.1.1 release source code.zip (19.7 MB) Google Add to Preferred Sources
Home / v3.1.0
Name Modified Size InfoDownloads / Week
Parent folder
pinpoint-agent-3.1.0.tar.gz 2026-05-20 34.3 MB
pinpoint-batch-3.1.0-exec.jar 2026-05-20 250.1 MB
pinpoint-collector-3.1.0-exec.jar 2026-05-20 187.3 MB
pinpoint-collector-starter-3.1.0-exec.jar 2026-05-20 249.1 MB
pinpoint-web-3.1.0-exec.jar 2026-05-20 246.3 MB
pinpoint-web-starter-3.1.0-exec.jar 2026-05-20 246.3 MB
3.1.0 release source code.tar.gz 2026-05-20 10.1 MB
3.1.0 release source code.zip 2026-05-20 19.5 MB
README.md 2026-05-20 124.7 kB
Totals: 9 Items   1.2 GB 0

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:

properties # 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:

properties profiler.error.enable=true

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

properties # 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.

properties # 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

Source: README.md, updated 2026-05-20