Hi Rob,
There's a few questions here, so please let me know if I'm missing anything.
* Core concepts: In Metrics, a Histogram is a statistical distribution of a stream of data, and a Meter measures *rates* of events. A Timer is a Histogram + a Meter. More specifically a Histogram of the timings of a particular call, and a Meter of the rate at which that call is invoked. Calls that are @Timed do not need to be @Metered because an invocation meter is already included in the timer. I'm not super familiar with the graphite reporter, but hopefully you can see the Histogram info in the form of Quantiles (median, 95, 98 %ile, etc) and the Meter info in the moving averages (5, 15 min average, etc). You would usually @Metered something when you're very interested in the call rate, but not especially interested in its timing. But you *probably* wouldn't use them together.
* IllegalArgumentException - The error you're seeing is because, by default, @Timed and @Metered annotations will try register their metrics with the same name in the Registry. Metrics doesn't like this and will let you know. :) If you really *want* to use both (though I can't imagine why) you can specify custom names in the parameters for the annotations.
* @ExceptionMetered - As the name indicates, this will create a Meter of the unhandled Exceptions thrown out of this method. This is SUPER useful for tracking error rates, and can be used together with @Timed or @Metered annotations, or entirely by itself. It will create a name in the registry that will not collide with @Timed or @Metered metrics.
* Documentation - Documentation for the behavior of Metrics, Reporters, and many of the instrumentable components can be found in the Metrics user manual[1]. Many (if not all) of these instrumented components are used in Dropwizard. A breakdown of the Metrics themselves can be found in the Getting Started Guide[2].
As a future note, this question may have been better fielded in the metrics-user mailing list[3] and I'll refer you there if you have further questions about Metrics internals.
Please let me know if I missed anything or can clarify anything further.
Best,
Dimas
[1]
https://dropwizard.github.io/metrics/3.1.0/manual/[2]
https://dropwizard.github.io/metrics/3.1.0/getting-started/[3]
https://groups.google.com/forum/#!forum/metrics-user