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

0.4.0 feature list #15

Closed
7 of 9 tasks
dirkraft opened this issue Jan 15, 2016 · 4 comments
Closed
7 of 9 tasks

0.4.0 feature list #15

dirkraft opened this issue Jan 15, 2016 · 4 comments
Assignees

Comments

@dirkraft
Copy link
Contributor

PR: coming....

Internal needs justify spending some time on metrics-cloudwatch. Targeting the following enhancements:

  • 1) configurable metric type dimension (Allow configuration of dimensions on CloudWatchReporter #10 talks about this too).
    • Currently type=[gauge, counterSum, meterSum, histogramCount, histogramSet, timerCount, timerSet]
    • Will become metricType=[gauge, counterCount, meterCount, histoSamples, histoStats, timerSamples, timerStats] which better describe what is being translated from code hale metric classes to cloudwatch
    • All of these strings will be configurable, in case you want an even less confusing metric type identifier, or you have conflicting dimensions.
  • 2) better defaults of metric type dimension values where the user does not explicitly configure the names in the previous bullet point. e.g. "histogramCount" -> "histogramSamples" because the coda hale Histogram.getCount actually returns the number of samples, not the sum of values. This is unlike a plain Counter where .getCount actually returns the sum of all values.
  • 3) a general update of all dependency versions
  • 4) CloudWatchReporterBuilder fluent style builder for CloudWatchReporter which will use the new default values
    • Should be backwards compatible with the last version of CloudWatchReporter. Making a best effort here to not rename or remove any existing signatures. Constructing the CloudWatchReporter directly will use all of the old metric type dimensions; the CloudWatchReporterBuilder will use the new defaults. Backwards-compatibility excludes any effects of 3) transitive dependency updates (and any resulting transitive dependency conflicts)
  • 5) A pass over README.md and all java-doc for accuracy clarity
  • 6) make submission of 0 values configurable make submission of 0 values configurable #14
  • 7) try to guard against "Value of 0 is invalid" Value of 0 is invalid #13
  • 8) option to set date on metrics explicitly to now (new Date()) or leave null (cloudwatch timestamps it on receipt)
dirkraft added a commit that referenced this issue Jan 18, 2016
includes
1) configurable metric type dimension
2) better defaults of metric type dimension values
3) a general update of all dependency versions
4) CloudWatchReporterBuilder fluent style builder for CloudWatchReporter which will use the new default values
6) make submission of 0 values configurable -- use reporterFilter
7) try to guard against "Value of 0 is invalid" -- use reporterFilter
8) option to set date on metrics explicitly to now (new Date()) or leave null (cloudwatch timestamps it on receipt)

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Mon Jan 18 12:49:33 2016 -0600
#
# On branch 0.4.0-frenzy
# Changes to be committed:
#	modified:   build.gradle
#	modified:   src/license/HEADER
#	modified:   src/main/java/com/blacklocus/metrics/CloudWatchReporter.java
#	new file:   src/main/java/com/blacklocus/metrics/CloudWatchReporterBuilder.java
#	new file:   src/main/java/com/blacklocus/metrics/Constants.java
#	modified:   src/main/java/com/blacklocus/metrics/DemuxedKey.java
#	modified:   src/main/java/com/blacklocus/metrics/MetricNameBuilder.java
#	modified:   src/test/java/com/blacklocus/metrics/DemuxedKeyTest.java
#
@dirkraft dirkraft self-assigned this Jan 18, 2016
dirkraft added a commit that referenced this issue Jan 18, 2016
dirkraft added a commit that referenced this issue Jan 18, 2016
@dirkraft
Copy link
Contributor Author

I'm satisfied for now

@dirkraft
Copy link
Contributor Author

Calling out that 6) and 7) were not exactly implemented after all.

@vinaygurram
Copy link

Hi,
I am using this and https://github.com/jdamick/dropwizard-metrics-cloudwatch to send metrics.

InvalidParameterValueException: The value 0 for parameter MetricData.member.11.Value is invalid.
is killing my logs.

How can I use this reported filter ?.

Things I found out :
https://github.com/jdamick/dropwizard-metrics-cloudwatch is using the following constructor to get reporter.
CloudWatchReporter(registry, metricNamespace, metricFilter, cloudWatch)

Thanks,
Vinay

@kamalvpm777
Copy link

kamalvpm777 commented Mar 15, 2017

Hello,
we are also facing similar error when posting the very small number(4.784335455263847e-50,) to cloudwatch from telegraf dropwizard metrics. Any suggestion on how to fix this error will be greatly appreciated.

2017-03-14T19:09:06Z E! Error writing to output [cloudwatch]: InvalidParameterValue: The value 0 for parameter MetricData.member.14.Value is invalid.
2017-03-14T19:09:20Z D! Output [cloudwatch] buffer fullness: 223 / 10000 metrics.
2017-03-14T19:09:26Z E! CloudWatch: Unable to write to CloudWatch : InvalidParameterValue: The value 0 for parameter MetricData.member.6.Value is invalid.
2017-03-14T19:09:26Z E! Error writing to output [cloudwatch]: InvalidParameterValue: The value 0 for parameter MetricData.member.6.Value is invalid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants