Add public config for Span reservoir size and ensure that correct value is being applied
See original GitHub issueAgents should implement a new public config that allows customers to change the Span reservoir size used for DT. The config should work with yaml, system property, and environment variables of the following forms:
Yaml
span_events:
max_samples_stored: 1000
System property
-Dnewrelic.config.span_events.max_samples_stored=1000
Environment variable
NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=1000
The default reservoir size will remain 1000. Agents need to report the locally set reservoir size to the Connect Service which will send back the final limit to be applied by the agent. This is so that the Connect Service can impose an acceptable limit in cases where an extremely high limit was configured locally. Currently, the Connect Service will impose a max limit of 10,000. See Connect spec for full details.
The collector changes to support this behavior are live in staging. You can add your own staging account to this feature flag or simply use the Java Agent Testing staging account that is already added.
When the agent receives the final limit from the Connect Service and applies it, a Supportability/SpanEvent/Limit
supportability metric must be reported with the value of the final decided upon Span reservoir size. See Span-Events spec for full details.
Add tests for the new config and supportability metric. Ensure that all test suites (unit, functional, instrumentation, and AITs) pass.
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (5 by maintainers)
The collector changes that support this behavior are now live in staging and production for all accounts. https://newrelic.slack.com/archives/C0290QGR02V/p1631555632078400
This was resolved by https://github.com/newrelic/newrelic-java-agent/pull/443 and https://github.com/newrelic/newrelic-java-agent/pull/460