pinpoint is a free, open source monitoring & observability project written in Java and released under Apache-2.0. It has 13,872 GitHub stars, 3,749 forks and 543 open issues, and was last pushed 15 hours ago. On this registry it ranks #29 of 97 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is pinpoint?

What it is

Pinpoint is an open-source Application Performance Management (APM) tool built for large-scale distributed systems. It is written primarily in Java and also supports applications written in PHP and Python through a separate agent repository. Inspired by Google's Dapper, it provides a way to analyze the overall structure of a system and how the components inside it are interconnected by tracing transactions across distributed applications. The project lives in the Java ecosystem, is licensed under Apache-2.0, and has been developed for around twelve years, with its current stable release being v3.1.0.

The concrete problem Pinpoint addresses is visibility. Modern services are made up of many components that communicate with each other and call external services, and how any individual transaction actually executes is often left as a black box. Pinpoint traces transaction flows between those components so that problem areas and potential bottlenecks become identifiable rather than guessed at. It gives teams a topology view of the system, real-time monitoring, and code-level visibility into every transaction, and it does so by installing APM agents without changing a single line of application code, adding roughly a 3% increase in resource usage.

Key capabilities

  • ServerMap visualizes how the components of a distributed system are interconnected, and clicking a node reveals details such as its current status and transaction count.
  • Realtime Active Thread Chart monitors active threads inside applications in real time.
  • Request/Response Scatter Chart shows request count and response patterns over time, and transactions can be selected for more detail by dragging over the chart.
  • CallStack provides code-level visibility into every transaction in a distributed environment, identifying bottlenecks and points of failure in one view.
  • Inspector exposes application details including CPU usage, memory and garbage collection, TPS, and JVM arguments.
  • URI-metric, Infrastructure, and Error-Analysis views extend the same monitoring surface to per-URI metrics, infrastructure metrics, and error investigation.

Who uses it and how

  • Teams operating large-scale distributed Java systems use the agent to trace transactions across services without modifying application source code.
  • Organizations running PHP or Python applications alongside Java services use the separate c-agent repository to cover those runtimes as well.
  • Platform engineers deploy Pinpoint to Kubernetes using the dedicated pinpoint-kubernetes project.
  • Operators monitor active threads and request/response patterns
project readme (upstream, from github) — read inline

Pinpoint

Maven codecov

Latest Release (2026/05/21)

We're happy to announce the release of Pinpoint v3.1.0. Please check the release note at (https://github.com/pinpoint-apm/pinpoint/releases/tag/v3.1.0).

The current stable version is v3.1.0.

Live Demo

Take a quick look at Pinpoint with our demo!

PHP, PYTHON

Pinpoint also supports application written in PHP, Python. Check-out our agent repository.

About Pinpoint

Pinpoint is an APM (Application Performance Management) tool for large-scale distributed systems written in Java / PHP/PYTHON. Inspired by Dapper, Pinpoint provides a solution to help analyze the overall structure of the system and how components within them are interconnected by tracing transactions across distributed applications.

You should definitely check Pinpoint out If you want to

  • understand your application topology at a glance
  • monitor your application in Real-Time
  • gain code-level visibility to every transaction
  • install APM Agents without changing a single line of code
  • have minimal impact on the performance (approximately 3% increase in resource usage)

Getting Started

Deploying Pinpoint to Kubernetes

Overview

Services nowadays often consist of many different components, communicating amongst themselves as well as making API calls to external services. How each and every transaction gets executed is often left as a blackbox. Pinpoint traces transaction flows between these components and provides a clear view to identify problem areas and potential bottlenecks.
For a more intimate guide, please check out our Introduction to Pinpoint video clip.

  • ServerMap - Understand the topology of any distributed systems by visualizing how their components are interconnected. Clicking on a node reveals details about the component, such as its current status, and transaction count.

  • Realtime Active Thread Chart - Monitor active threads inside applications in real-time.

  • Request/Response Scatter Chart - Visualize request count and response patterns over time to identify potential problems. Transactions can be selected for additional detail by dragging over the chart.

    Server Map

  • CallStack - Gain code-level visibility to every transaction in a distributed environment, identifying bottlenecks and points of failure in a single view.

    Call Stack

  • Inspector - View additional details on the application such as CPU usage, Memory/Garbage Collection, TPS, and JVM arguments.

    Inspector

  • URI-metric URI-Metric

  • Infrastructure Infrastructure

  • Error-Analysis Error-Analysis 1 Error-Analysis 2

Supported Modules

The supported version range of each module is listed in Agent Plugins.

readme truncated — read the full docs on github

Frequently asked questions

Is pinpoint free to use?

pinpoint is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does pinpoint do?

APM, (Application Performance Management) tool for large-scale distributed systems.

What is pinpoint written in?

pinpoint is primarily written in Java. Its source is publicly available at https://github.com/pinpoint-apm/pinpoint, and it has 13,872 GitHub stars.