Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[APM] Agent remote configuration: changes in Java property descriptions #62282

Merged
merged 6 commits into from
Apr 8, 2020
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.enableLogCorrelation.description',
{
defaultMessage:
"A boolean specifying if the agent should integrate into SLF4J's MDC to enable trace-log correlation. If set to `true`, the agent will set the `trace.id` and `transaction.id` for the currently active spans and transactions to the MDC. While it's allowed to enable this setting at runtime, you can't disable it without a restart."
"A boolean specifying if the agent should integrate into SLF4J's MDC to enable trace-log correlation. If set to `true`, the agent will set the `trace.id` and `transaction.id` for the currently active spans and transactions to the MDC. Since Java agent version 1.16.0, the agent also adds `error.id` of captured error to the MDC just before the error message is logged.\n\nNOTE: While it's allowed to enable this setting at runtime, you can't disable it without a restart."
}
),
includeAgents: ['java']
Expand All @@ -29,7 +29,8 @@ export const javaSettings: RawSettingDefinition[] = [
// TRACE_METHODS_DURATION_THRESHOLD
{
key: 'trace_methods_duration_threshold',
type: 'integer',
type: 'duration',
defaultValue: '0ms',
label: i18n.translate(
'xpack.apm.agentConfig.traceMethodsDurationThreshold.label',
{
Expand All @@ -40,7 +41,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.traceMethodsDurationThreshold.description',
{
defaultMessage:
'If trace_methods config option is set, provides a threshold to limit spans based on duration. When set to a value greater than 0, spans representing methods traced based on trace_methods will be discarded by default.'
'If `trace_methods` config option is set, provides a threshold to limit spans based on duration. When set to a value greater than 0, spans representing methods traced based on trace_methods will be discarded by default.\n\nNOTE: NOTE: Transactions are never discarded, regardless of their duration. In order not to break span references, all spans leading to an async operation or an exit span (such as a HTTP request or a DB query) are never discarded, regardless of their duration.'
}
),
includeAgents: ['java']
Expand All @@ -61,7 +62,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.circuitBreakerEnabled.description',
{
defaultMessage:
'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 `active` 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.'
'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 pause, as if the `recording` configuration option has been set to `false`, thus reducing resource consumption to a minimum. When paused, 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.'
}
),
includeAgents: ['java']
Expand All @@ -72,7 +73,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.stressMonitorGcStressThreshold.label',
{ defaultMessage: 'Stress monitor gc stress threshold' }
),
type: 'boolean',
type: 'float',
category: 'Circuit-Breaker',
defaultValue: '0.95',
description: i18n.translate(
Expand Down Expand Up @@ -175,7 +176,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.profilingInferredSpansEnabled.description',
{
defaultMessage:
'Set to `true` to make the agent create spans for method executions based on async-profiler, a sampling aka statistical profiler. Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The `profiling_inferred_spans_sampling_interval` lets you fine tune the trade-off between accuracy and overhead. The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI. This feature is not available on Windows'
'Set to `true` to make the agent create spans for method executions based on async-profiler, a sampling (aka statistical profiler). Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The `profiling_inferred_spans_sampling_interval` lets you fine tune the trade-off between accuracy and overhead. The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI.\n\nNOTE: This feature is not available on Windows.'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get what you're going for, but I don't the the parenthesis work in this case. Also, do the newlines actually render?

Here's a parenthesis suggestion:

Suggested change
'Set to `true` to make the agent create spans for method executions based on async-profiler, a sampling (aka statistical profiler). Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The `profiling_inferred_spans_sampling_interval` lets you fine tune the trade-off between accuracy and overhead. The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI.\n\nNOTE: This feature is not available on Windows.'
'Set to `true` to make the agent create spans for method executions based on async-profiler, a sampling (or statistical) profiler. Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The `profiling_inferred_spans_sampling_interval` lets you fine tune the trade-off between accuracy and overhead. The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI.\n\nNOTE: This feature is not available on Windows.'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's restore the former - a sampling aka statistical profiler.. I thought it would be better with parentheses, but seems you think it won't, so I will restore.
The main change I wanted here is the separation of the NOTE. I don't know about these newlines, I just saw what you did in other descriptions and did the same 🙂 . Since you found they do not render, I will remove...
So currently we have no formatting for these sections whatsoever?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, sounds good! Correct, there's unfortunately no formatting

}
),
includeAgents: ['java']
Expand Down Expand Up @@ -229,7 +230,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.profilingInferredSpansIncludedClasses.description',
{
defaultMessage:
'If set, the agent will only create inferred spans for methods which match this list. Setting a value may slightly increase performance and can reduce clutter by only creating spans for the classes you are interested in. Example: `org.example.myapp.*` This option supports the wildcard `*`, which matches zero or more characters. Examples: `/foo/*/bar/*/baz*`, `*foo*`. Matching is case insensitive by default. Prepending an element with `(?-i)` makes the matching case sensitive.'
'If set, the agent will only create inferred spans for methods which match this list. Setting a value may slightly reduce overhead and can reduce clutter by only creating spans for the classes you are interested in. This option supports the wildcard `*`, which matches zero or more characters. Example: `org.example.myapp.*`. Matching is case insensitive by default. Prepending an element with `(?-i)` makes the matching case sensitive.'
}
),
includeAgents: ['java']
Expand All @@ -248,7 +249,7 @@ export const javaSettings: RawSettingDefinition[] = [
'xpack.apm.agentConfig.profilingInferredSpansExcludedClasses.description',
{
defaultMessage:
'Excludes classes for which no profiler-inferred spans should be created. This option supports the wildcard `*`, which matches zero or more characters. Examples: `/foo/*/bar/*/baz*`, `*foo*`. Matching is case insensitive by default. Prepending an element with `(?-i)` makes the matching case sensitive.'
'Excludes classes for which no profiler-inferred spans should be created. This option supports the wildcard `*`, which matches zero or more characters. Matching is case insensitive by default. Prepending an element with `(?-i)` makes the matching case sensitive.'
}
),
includeAgents: ['java']
Expand Down