Configure the Java Agent
Per-app agent.properties control
JVM & Process Monitoring
JVM health and processes
Configure Custom Method Monitoring
Instrument app-specific methods
Validate the Configuration
Expand after initial validation
Overview
Once the GermainUX Java Agent and/or Engine is deployed, configure the monitoring scope, data collection, analytics, alerts, and automation appropriate for your Java environment. GermainUX configuration can range from lightweight JVM health monitoring to deep transaction, database, API, code-level, user-impact, and business-process analysis.Configure the Java Agent
Java Agent capabilities are controlled through the application’sagent.properties file.
Monitoring can be enabled or disabled individually, allowing each Java application to collect only the telemetry required for its use case.
HTTP Monitoring
GermainUX can monitor inbound application requests and outbound HTTP calls. Enable inbound Servlet monitoring and outbound HTTP monitoring:- URL
- HTTP method
- Response code
- Response time
- Payload size
- Outbound target
- Transaction failures
Session Correlation
HTTP session ID collection can be enabled when session-level correlation is required:JDBC / SQL Monitoring
Enable JDBC monitoring:- SQL statement
- Execution time
- Error state
- Slow database activity
- Database impact on application transactions
JMS Monitoring
Enable JMS monitoring:- Destination
- Inbound/outbound direction
- Processing time
- Errors
Elasticsearch Monitoring
Elasticsearch monitoring is available but disabled by default. Enable it with:- Index
- Operation
- Response time
JVM & Process Monitoring
Enable JVM/process metrics:- Heap memory
- Non-heap memory
- Garbage collection activity
- Thread counts and states
- Heap histograms
Thread Pool Monitoring
Enable thread-pool monitoring:Connection Pool Monitoring
Enable connection-pool monitoring:- Active connections
- Idle connections
- Waiting threads
- Wait time
- Pool exhaustion
Configure CPU Profiling
GermainUX’s CPU Profiler uses stack sampling to identify CPU-intensive code paths while minimizing application overhead. Enable CPU profiling:Limit Profiling Scope
Exclude framework or low-value packages:On-Demand CPU Profiling
CPU profiling can also be controlled at runtime through JMX:Configure Custom Method Monitoring
GermainUX can instrument application-specific Java methods, classes, or packages that are not covered by standard HTTP, JDBC, JMS, or other built-in monitoring. Enable method monitoring:Monitor a Specific Method
Monitor an Entire Class
Monitor a Package
Configure Method-Level Data Collection
When required for troubleshooting, GermainUX can capture method arguments and return values:Configure User & Transaction Correlation
For web-based applications, Java telemetry can be correlated with other GermainUX monitoring data to provide visibility across the complete user and application journey:User ActionBrowserJava TransactionAPI / ServiceDatabase
This can help teams determine:
- Which backend transaction affected a user
- Which Java error caused a workflow to fail
- Which SQL call contributed to a slow transaction
- Which backend issue caused repeated user actions
- Which technical issue affected productivity, adoption, conversion, or abandonment
Configure Data Privacy & Exclusions
Review all monitored data before enabling detailed instrumentation in production. Depending on the application, this can include:- SQL text
- HTTP/session information
- JMS messages
- Method arguments
- Return values
- User identifiers
- Business data
Configure KPIs, Dashboards & Reports
Java telemetry collected by GermainUX can be analyzed through configurable real-time KPIs, dashboards, and automated reports. Examples include:- Application availability
- Error rate
- Response time
- JVM memory and garbage collection
- Slow transactions
- CPU hotspots
Show all 12
Show all 12
- Database performance
- API performance
- Connection-pool utilization
- Thread-pool utilization
- Business transaction performance
- User impact
Configure Alerts & SLAs
Configure alerts for conditions that require attention, such as:- New Java errors
- Error-frequency increases
- Slow transactions
- JVM resource saturation
- Excessive garbage collection
- CPU hotspots
Show all 12
Show all 12
- Connection-pool exhaustion
- Thread-pool saturation
- Slow SQL
- API failures
- Application availability issues
- SLA violations
Configure Automation
GermainUX can trigger automated actions when defined Java application conditions occur. For example:DetectAnalyzeAlertCreate TicketTrigger Action
Depending on the use case, automation can include:
- Alerts and notifications
- Ticket or incident creation
- Script execution
- Program / RPA execution
- HTTP calls
- SQL execution
Show all 10
Show all 10
- SSH execution
- Scheduled actions
- Custom workflows
- Remediation actions
Tune Monitoring Overhead
Monitoring depth should match the diagnostic requirements of each environment. For production environments:- Start with JVM metrics and critical transactions.
- Enable HTTP, JDBC, pools, and other relevant integrations.
- Add CPU profiling where deeper performance analysis is required.
- Instrument specific business-critical methods when built-in monitoring does not provide sufficient visibility.
- Avoid unnecessarily broad package-level instrumentation.
- Adjust sampling and collection intervals where appropriate.
- Review data volume and application overhead after configuration changes.
Validate the Configuration
After making configuration changes:- Restart the JVM when required for instrumentation changes.
- Confirm that expected telemetry is being collected.
- Validate transaction and application naming.
- Confirm exclusions are working correctly.
- Review CPU and application overhead.
- Test alerts and SLA thresholds.
Show all 9
Show all 9
- Test automation actions in a non-production environment.
- Validate user/backend correlation where applicable.
- Confirm that sensitive data is not being collected unintentionally.
Get Help
Contact GermainUX Support
The Germain Team can help you set this up.
Can't find what you need?
Search all GermainUX docs with Ctrl + K, or use the feedback buttons at the bottom of this page to tell us what is missing.
The content of this document is proprietary to GERMAIN SOFTWARE LLC.

