we unfortunately do not control the
opentelemetry
namespace on docker hub
Ah too bad. Regardless, what about dropping the preceding opentelemetry-
in the image names? And in fact just have 1 image for the collector with various tags. e.g.: otel/collector
and tags such as latest
, stable
, contrib
, dev
and such? Pardon the nitpicking :)
{"level":"info","ts":1591373779.4030387,"caller":"internal/metrics_adjuster.go:357","msg":"Adjust - skipping unexpected point","type":"UNSPECIFIED"}
, followed by (i think this is just Stackdriver exporter not happy with the prior error^) {"level":"info","ts":1591373782.0302048,"caller":"scrape/scrape.go:930","msg":"","level":"warn","scrape_pool":"mysql_exporter_otel","target":"http://localhost:9104/metrics","msg":"append failed","err":"[rpc error: code = ResourceExhausted desc = Your metric descriptor quota has been exhausted.; rpc error: code = ResourceExhausted desc = Your metric descriptor quota has been exhausted.; rpc error: code = ResourceExhausted desc = Your metric descriptor quota has been exhausted.; rpc error: code = ResourceExhausted desc = Your metric descriptor quota has been exhausted.; rpc error: code = ResourceExhausted desc = Your metric descriptor quota has been exhausted.]"}
mysql exporter
need to be modified to format the metrics according to the collector, or is there something I'm missing in the collector config?
Hi. I've got comments/questions after a few days of playing with OTel.
1) Why is UpDownCounter instrument not called Gauge? The six instrument types all have very similar naming components (Counter, UpDownCounter, ValueRecorder, SumObserver, UpDownSumObserver, ValueObserver). I'm sure I'll get used to this over time, but as a newb the naming pattern is hard to spot and requires a lot of spec checking while coding.
2) The UpDownCounter instrument, which is equivalent to Gauge, is updated via an Add() function. How do I update this counter when I already have the final value? Right now it appears to me that I need to track the prior value, do the math to find the delta, and then call the Add() function with the delta as the value. I would rather just update the metric with the current value. Is there a way to directly set the value for an UpDownCounter instrument?
3) It took me a while to realize that ValueRecorder and ValueObserver instruments were summary metrics that had multiple values (MinMaxSumCount), and thus would be dropped by the OTel exporter for Prometheus. To me, "Value" suggests a single scalar value. I would have expected the exporter for Prometheus to export the LastValue and just work for Value* instruments. This burned at least a day of debugging for me.
Thanks all, for this amazing project. I've read some of the spec discussions and the decisions made have all been well considered.