# LinShunKang/MyPerf4J

High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.

Repository: https://github.com/LinShunKang/MyPerf4J
Canonical: https://ross.abutalabs.com/products/myperf4j
Language: Java
License: BSD-3-Clause
License Family: permissive
Topics: performance-monitoring, performance, apm, jvm-monitor, bytecode, performance-metrics, performance-visualization, performance-tuning, metrics, profiler, java-agent, agent, diagnosis, monitoring-tool, performance-analysis, monitoring, profiling, monitor, observability, microservices
Last push: 2026-07-31T07:09:20+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 95, release rhythm 25, longevity 100
- inputs: {"age_days": 3097, "days_push": 33, "days_rel": 290, "gap_med": 216.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3559, forks 555 (observed 2026-08-28T04:08:09.782922+00:00)

## What it is
MyPerf4J is a high-performance Java application performance monitoring (APM) tool implemented as a non-intrusive JavaAgent using ASM bytecode instrumentation. It collects per-method response time metrics (RPS, TP50-TP100 percentiles) and JVM metrics in real time with second-level granularity and minimal overhead.

## Use cases
- monitor java application performance without code changes
- find performance bottlenecks in high-concurrency java services
- collect jvm metrics like gc, memory and threads in real time
- profile method response times with percentile statistics
- export java metrics to influxdb and grafana dashboards
- diagnose latency issues in low-latency microservices

## When to choose
- you need zero-intrusion javaagent-based monitoring with nanosecond-level recording overhead
- you want second-level, full-coverage response time statistics for java methods
- you prefer a lightweight alternative to heavyweight APM suites

## When to avoid
- you need distributed tracing across services rather than single-JVM metrics
- your stack is not on the JVM
- you require a full commercial APM with alerting and UI out of the box

## Facets
- artifact type: library
- maturity: active
- function: monitoring, tracing, benchmarking, developer-tools
- domain: monitoring, performance, developer-tools, microservices
- platform: jvm, windows
- tags: apm, java-agent, bytecode-instrumentation, asm, jvm-metrics, profiling, observability, low-latency, grafana, influxdb, linux, macos

## Member repositories
- LinShunKang/MyPerf4J (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:09.782922+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:34:13.623034+00:00, confidence not recorded.
  - readme: https://github.com/LinShunKang/MyPerf4J (fetched 2026-08-28T04:08:09.782922+00:00, sha 1c9296d2fa9f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
