Add histogram context manager and decorator#769
Open
oldpatricka wants to merge 1 commit intoDataDog:masterfrom
Open
Add histogram context manager and decorator#769oldpatricka wants to merge 1 commit intoDataDog:masterfrom
oldpatricka wants to merge 1 commit intoDataDog:masterfrom
Conversation
This MR adds support for a new decorator for histograms, much the same
as the distributed decorator. (It is heavily cribbed from same).
A decorator or context manager that will measure the histogram of a
function's/context's run time using custom metric HISTOGRAM.
E.g. of usage follows:
@statsd.histogrammed('user.query.time', sample_rate=0.5)
def get_user(user_id):
# Do what you need to ...
pass
# Is equivalent to ...
with statsd.histogrammed('user.query.time', sample_rate=0.5):
# Do what you need to ...
pass
# Is equivalent to ...
start = time.time()
try:
get_user(user_id)
finally:
statsd.histogram('user.query.time', time.time() - start)
|
This issue has been automatically marked as stale because it has not had activity in the last 30 days. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This MR adds support for a new decorator for histograms, much the same as the distributed decorator. (It is heavily cribbed from same).
A decorator or context manager that will measure the histogram of a function's/context's run time using custom metric HISTOGRAM.
E.g. of usage follows:
Requirements for Contributing to this repository
What does this PR do?
This adds a new histogrammed decorator that works much the same way as timed and distributed. I wanted to time a function using a histogram in my project, and added very similar code to my project to do so.
This implements #770
Description of the Change
This copies what is done with the distributed decorator extremely closely.
Alternate Designs
This is a simple change so no alternatives were considered.
Possible Drawbacks
I can't imagine any.
Verification Process
I ran a forked of the dogstatsd client against my datadog account and saw metrics appear as expected.
Additional Notes
N/A
Release Notes
N/A
Review checklist (to be filled by reviewers)
changelog/label attached. If applicable it should have thebackward-incompatiblelabel attached.do-not-merge/label attached.kind/andseverity/labels attached at least.