Circuit-Breaker configuration options
Serverless Observability
Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud.
Availability
-
Generally available
This functionality is generally available and ready for production usage.
Stack
The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats.
Availability
-
Generally available
This functionality is generally available and ready for production usage.
Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments.
This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
APM Agent Java
The Elastic APM Java agent enables you to trace the execution of operations in your Java applications, sending performance metrics and errors to the Elastic APM Server.
Availability
-
Generally available
This functionality is generally available and ready for production usage.
This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
APM Agent Java
1.14+
The Elastic APM Java agent enables you to trace the execution of operations in your Java applications, sending performance metrics and errors to the Elastic APM Server.
Availability
-
Generally available since 1.14
This functionality is generally available and ready for production usage.
This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
A boolean specifying whether the circuit breaker should be enabled or not. When enabled, the agent periodically polls stress monitors to detect system/process/JVM stress state. If ANY of the monitors detects a stress indication, the agent will become inactive, as if the recording configuration option has been set to false, thus reducing resource consumption to a minimum. When inactive, the agent continues polling the same monitors in order to detect whether the stress state has been relieved. If ALL monitors approve that the system/process/JVM is not under stress anymore, the agent will resume and become fully functional.
| Default |
Type |
Dynamic |
false |
Boolean |
true |
| Java System Properties |
Property file |
Environment |
elastic.apm.circuit_breaker_enabled |
circuit_breaker_enabled |
ELASTIC_APM_CIRCUIT_BREAKER_ENABLED |
The interval at which the agent polls the stress monitors. Must be at least 1s.
Supports the duration suffixes ms, s and m. Example: 5s.
| Default |
Type |
Dynamic |
5s |
TimeDuration |
false |
| Java System Properties |
Property file |
Environment |
elastic.apm.stress_monitoring_interval |
stress_monitoring_interval |
ELASTIC_APM_STRESS_MONITORING_INTERVAL |
The threshold used by the GC monitor to rely on for identifying heap stress. The same threshold will be used for all heap pools, so that if ANY has a usage percentage that crosses it, the agent will consider it as a heap stress. The GC monitor relies only on memory consumption measured after a recent GC.
| Default |
Type |
Dynamic |
0.95 |
Double |
true |
| Java System Properties |
Property file |
Environment |
elastic.apm.stress_monitor_gc_stress_threshold |
stress_monitor_gc_stress_threshold |
ELASTIC_APM_STRESS_MONITOR_GC_STRESS_THRESHOLD |
The threshold used by the GC monitor to rely on for identifying when the heap is not under stress . If stress_monitor_gc_stress_threshold has been crossed, the agent will consider it a heap-stress state. In order to determine that the stress state is over, percentage of occupied memory in ALL heap pools should be lower than this threshold. The GC monitor relies only on memory consumption measured after a recent GC.
| Default |
Type |
Dynamic |
0.75 |
Double |
true |
| Java System Properties |
Property file |
Environment |
elastic.apm.stress_monitor_gc_relief_threshold |
stress_monitor_gc_relief_threshold |
ELASTIC_APM_STRESS_MONITOR_GC_RELIEF_THRESHOLD |
The minimal time required in order to determine whether the system is either currently under stress, or that the stress detected previously has been relieved. All measurements during this time must be consistent in comparison to the relevant threshold in order to detect a change of stress state. Must be at least 1m.
Supports the duration suffixes ms, s and m. Example: 1m.
| Default |
Type |
Dynamic |
1m |
TimeDuration |
true |
| Java System Properties |
Property file |
Environment |
elastic.apm.stress_monitor_cpu_duration_threshold |
stress_monitor_cpu_duration_threshold |
ELASTIC_APM_STRESS_MONITOR_CPU_DURATION_THRESHOLD |
The threshold used by the system CPU monitor to detect system CPU stress. If the system CPU crosses this threshold for a duration of at least stress_monitor_cpu_duration_threshold, the monitor considers this as a stress state.
| Default |
Type |
Dynamic |
0.95 |
Double |
true |
| Java System Properties |
Property file |
Environment |
elastic.apm.stress_monitor_system_cpu_stress_threshold |
stress_monitor_system_cpu_stress_threshold |
ELASTIC_APM_STRESS_MONITOR_SYSTEM_CPU_STRESS_THRESHOLD |
The threshold used by the system CPU monitor to determine that the system is not under CPU stress. If the monitor detected a CPU stress, the measured system CPU needs to be below this threshold for a duration of at least stress_monitor_cpu_duration_threshold in order for the monitor to decide that the CPU stress has been relieved.
| Default |
Type |
Dynamic |
0.8 |
Double |
true |
| Java System Properties |
Property file |
Environment |
elastic.apm.stress_monitor_system_cpu_relief_threshold |
stress_monitor_system_cpu_relief_threshold |
ELASTIC_APM_STRESS_MONITOR_SYSTEM_CPU_RELIEF_THRESHOLD |