All Projects → stackimpact → Stackimpact Java

stackimpact / Stackimpact Java

Licence: other
StackImpact Java Profiler - Production-Grade Performance Profiler: CPU, locks, runtime metrics, and more

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Stackimpact Java

Goappmonitor
Golang application performance data monitoring.
Stars: ✭ 478 (+6728.57%)
Mutual labels:  monitoring, agent, profiler, performance-analysis, performance-metrics, performance-tuning
Stackimpact Nodejs
DEPRECATED StackImpact Node.js Profiler - Production-Grade Performance Profiler: CPU, memory allocations, async calls, errors, metrics, and more
Stars: ✭ 46 (+557.14%)
Mutual labels:  monitoring, agent, profiler, performance-analysis, performance-metrics, performance-tuning
Stackimpact Go
DEPRECATED StackImpact Go Profiler - Production-Grade Performance Profiler: CPU, memory allocations, blocking calls, errors, metrics, and more
Stars: ✭ 276 (+3842.86%)
Mutual labels:  monitoring, agent, profiler, performance-analysis, performance-metrics, performance-tuning
Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (+32485.71%)
Mutual labels:  monitoring, agent, profiler, performance-analysis, performance-metrics, performance-tuning
Inspectit
inspectIT is the leading Open Source APM (Application Performance Management) tool for analyzing your Java (EE) applications.
Stars: ✭ 513 (+7228.57%)
Mutual labels:  monitoring, agent, performance-analysis, performance-metrics, performance-tuning
Stackimpact Python
DEPRECATED StackImpact Python Profiler - Production-Grade Performance Profiler: CPU, memory allocations, blocking calls, exceptions, metrics, and more
Stars: ✭ 671 (+9485.71%)
Mutual labels:  monitoring, profiler, performance-metrics, performance-tuning
Sparklens
Qubole Sparklens tool for performance tuning Apache Spark
Stars: ✭ 345 (+4828.57%)
Mutual labels:  performance-analysis, performance-metrics, performance-tuning
Profimp
Python import profiler
Stars: ✭ 52 (+642.86%)
Mutual labels:  profiler, performance-analysis, performance-tuning
Spm Agent Mongodb
Sematext Agent for monitoring MongoDB
Stars: ✭ 7 (+0%)
Mutual labels:  monitoring, agent, performance-metrics
Sitespeed.io
Sitespeed.io is an open source tool that helps you monitor, analyze and optimize your website speed and performance, based on performance best practices advices from the coach and collecting browser metrics using the Navigation Timing API, User Timings and Visual Metrics (FirstVisualChange, SpeedIndex & LastVisualChange).
Stars: ✭ 4,255 (+60685.71%)
Mutual labels:  monitoring, performance-analysis, performance-metrics
Spm Agent Nodejs
NodeJS Monitoring Agent
Stars: ✭ 51 (+628.57%)
Mutual labels:  monitoring, agent, performance-metrics
Pcm
Processor Counter Monitor
Stars: ✭ 1,240 (+17614.29%)
Mutual labels:  monitoring, performance-analysis, performance-metrics
Scouter
Scouter is an open source APM (Application Performance Management) tool.
Stars: ✭ 1,792 (+25500%)
Mutual labels:  monitoring, agent, performance-metrics
powerstation
A Tool for Detecting Performance Bugs in Rails Applications
Stars: ✭ 57 (+714.29%)
Mutual labels:  performance-tuning, performance-analysis
Perfmon Agent
Server metrics fetching agent, based on SIGAR
Stars: ✭ 264 (+3671.43%)
Mutual labels:  monitoring, agent
django-web-profiler
Django package to log request values such as device, IP address, user CPU time, system CPU time, No of queries, SQL time, no of cache calls, missing, setting data cache calls for a particular URL with a basic UI.
Stars: ✭ 76 (+985.71%)
Mutual labels:  profiler, performance-analysis
Linux Perf Examples
极客时间《Linux 性能优化实战》案例
Stars: ✭ 724 (+10242.86%)
Mutual labels:  performance-analysis, performance-tuning
Scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
Stars: ✭ 4,819 (+68742.86%)
Mutual labels:  profiler, performance-analysis
javametrics
Application Metrics for Java™ instruments the Java runtime for performance monitoring, providing the monitoring data visually with its built in dashboard
Stars: ✭ 19 (+171.43%)
Mutual labels:  agent, performance-metrics
Pprof
pprof is a tool for visualization and analysis of profiling data
Stars: ✭ 4,990 (+71185.71%)
Mutual labels:  profiler, performance-analysis

StackImpact Java Profiler

Overview

StackImpact is a production-grade performance profiler built for both production and development environments. It gives developers continuous and historical code-level view of application performance that is essential for locating CPU, memory allocation and I/O hot spots as well as latency bottlenecks. Included runtime metrics and error monitoring complement profiles for extensive performance analysis. Learn more at stackimpact.com.

dashboard

Features

  • Continuous hot spot profiling of CPU usage and locks.
  • Health monitoring including CPU, memory, garbage collection and other runtime metrics.
  • Alerts on profile anomalies.
  • Team access.

Learn more on the features page (with screenshots).

How it works

The StackImpact profiler agent is imported into a program and used as a normal package. When the program runs, various sampling profilers are started and stopped automatically by the agent. The agent periodically reports recorded profiles and metrics to the StackImpact Dashboard.

Documentation

See full documentation for reference.

Supported environment

  • Linux and macOS. Java 1.7 or higher.

Getting started

Create StackImpact account

Sign up for a free trial account at stackimpact.com (also with GitHub login).

Installing and configuring the agent - OPTION 1

Download the stackimpact.jar file.

Add -javaagent:/path/to/stackimpact.jar Java option.

Configure the agent using environment variables:

  • SI_AGENT_KEY (Required) The API key for communication with the StackImpact servers.
  • SI_APP_NAME (Required) A name to identify and group application data. Typically, a single codebase, deployable unit or executable module corresponds to one application.
  • SI_APP_VERSION (Optional) Sets application version, which can be used to associate profiling information with the source code release.
  • SI_APP_ENVIRONMENT (Optional) Used to differentiate applications in different environments.
  • SI_HOST_NAME (Optional) By default, host name will be the OS hostname.
  • SI_DEBUG_MODE (Optional) Enables debug logging.
  • SI_CPU_PROFILER_DISABLED, SI_LOCK_PROFILER_DISABLED (Optional) Disables respective profiler when true.

Alternatively, the agent can be configured using Java system properties, e.g. si.agent.key, si.app.name, etc.

Installing and configuring the agent - OPTION 2

Download the stackimpact.jar file.

Add the jar file to the classpath.

Import the agent in your application:

import com.stackimpact.agent.StackImpact;

Start the agent when the application starts:

StackImpact.start(String agentKey, String appName);

The agent can be configured by setting initialization options using the following methods prior to calling the start() method:

  • StackImpact.setAppVersion(String appVersion) (Optional) Sets application version, which can be used to associate profiling information with the source code release.
  • StackImpact.setAppEnvironment(String appEnvironment) (Optional) Used to differentiate applications in different environments.
  • StackImpact.setHostName(String hostName) (Optional) By default, host name will be the OS hostname.
  • StackImpact.setAutoProfilingMode(boolean isAutoProfilingMode) (Optional) If set to false, disables automatic profiling and reporting. Focused profiling should be used instead. Useful for environments without support for timers or background tasks.
  • StackImpact.setDebugMode(boolean isDebugMode) (Optional) Enables debug logging.
  • StackImpact.setCPUProfilerDisabled(boolean isDisabled), setLockProfilerDisabled(boolean isDisabled) (Optional) Disables respective profiler when true.

Focused profiling

Use StackImpact.profile() to instruct the agent when to start and stop profiling. The agent decides if and which profiler is activated. Normally, this method should be used in repeating code, such as request or event handlers. Usage example:

ProfileSpan span = StackImpact.profile();

// your code here

span.stop();

Import ProfileSpan object from com.stackimpact.agent.ProfileSpan.

Shutting down the agent

Optional

Use StackImpact.destroy() to stop the agent if necessary. This method is automatically called on JVM shutdown.

Analyzing performance data in the Dashboard

Once your application is restarted, you can start observing continuous CPU, memory, I/O, and other hot spot profiles, execution bottlenecks as well as process metrics in the Dashboard.

Troubleshooting

To enable debug logging, use StackImpact.setDebugMode(true) method. If the debug log doesn't give you any hints on how to fix a problem, please report it to our support team in your account's Support section.

Overhead

The agent overhead is measured to be less than 1% for applications under high load.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].