-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
API usability improvements in sampling package (#31940)
**Description:** Several usability issues were ironed out while working on #31894. This PR is the pkg/sampling changes from that PR. Highlights: - Adds `NeverSampleThreshold` value, which is the exclusive upper-boundary of threshold values. This makes negative sampling decisions easier to manage, as shown in #31894. - Adds `AllProbabilitiesRandomness` value, which is the inclusive upper-boundary of Randomness values. This makes error handling more natural as shown in #31894. All thresholds except `NeverSampleThreshold` will be sampled at `AllProbabilitiesRandomness`. - Adds `UnsignedToThreshold` constructor for explicit threshold construction. This is useful in the case of #31894 because it constructs a 14-bit threshold value. - Adds `UnsignedToRandomness` constructor for explicit randomness construction. This is useful in the case of #31894 because it constructs randomness values from log records w/o use of TraceState. - Removes a parameter from `UpdateTValueWithSampling` to avoid the potential for an inconsistent update through mis-use (as identified in #31894, there is less optimization potential because sampling.threshold modifies thresholds in all modes). - Eliminates the `ErrPrecisionUnderflow` error condition and automatically corrects the problem by extending precision near 0.0 and 1.0 where there are obligatory leading `f` or `0` digits. **Link to tracking Issue:** #31918 **Testing:** New tests added for coverage. **Documentation:** New comments to explain. --------- Co-authored-by: Sean Marciniak <[email protected]>
- Loading branch information
1 parent
78d1718
commit beef35e
Showing
11 changed files
with
258 additions
and
115 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Use this changelog template to create an entry for release notes. | ||
|
||
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' | ||
change_type: enhancement | ||
|
||
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) | ||
component: pkg/sampling | ||
|
||
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). | ||
note: Usability improvements in the sampling API. | ||
|
||
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. | ||
issues: [31918] | ||
|
||
# (Optional) One or more lines of additional information to render under the primary note. | ||
# These lines will be padded with 2 spaces and then inserted directly into the document. | ||
# Use pipe (|) for multiline entries. | ||
subtext: | ||
|
||
# If your change doesn't affect end users or the exported elements of any package, | ||
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. | ||
# Optional: The change log or logs in which this entry should be included. | ||
# e.g. '[user]' or '[user, api]' | ||
# Include 'user' if the change is relevant to end users. | ||
# Include 'api' if there is a change to a library API. | ||
# Default: '[user]' | ||
change_logs: [api] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.