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

Support metric exporter #24

Merged
merged 24 commits into from May 16, 2020
Merged

Support metric exporter #24

merged 24 commits into from May 16, 2020

Conversation

ymotongpoo
Copy link
Member

@ymotongpoo ymotongpoo commented May 14, 2020

Replace #14 with this PR.

  • basic implementation of metric exporter
  • add example

@ymotongpoo ymotongpoo requested a review from rghetia May 14, 2020 13:26
@ymotongpoo ymotongpoo self-assigned this May 14, 2020
@ymotongpoo ymotongpoo added the enhancement New feature or request label May 14, 2020
Copy link
Contributor

@rghetia rghetia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If not tested with SD backend, please test one metric of type Observer and Counter with the backend.
See other inline comments..

exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/option.go Outdated Show resolved Hide resolved
exporter/metric/option.go Outdated Show resolved Hide resolved
@rghetia
Copy link
Contributor

rghetia commented May 14, 2020

@nilebox can you please review this as well.

exporter/metric/cloudmonitoring.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
exporter/metric/metric.go Outdated Show resolved Hide resolved
@ymotongpoo
Copy link
Member Author

The sample sometimes show the rpc error as follows that is relevant to #25 :

2020/05/16 00:29:13 Submitted data: counter 118, observer 12.49
2020/05/16 00:29:14 Submitted data: counter 181, observer 12.59
2020/05/16 00:29:15 Submitted data: counter 191, observer 12.54
2020/05/16 00:29:16 Submitted data: counter 175, observer 12.34
Metrics Accumulator error: rpc error: code = InvalidArgument desc = Field timeSeries[1].points[0].interval.start_time had an invalid value of "2020-05-15T08:29:16-07:00": The start time must be equal to the end time (2020-05-15T08:29:17-07:00) for the gauge metric 'custom.googleapis.com/opentelemetry/observer-a'.
2020/05/16 00:29:17 Submitted data: counter 161, observer 12.74
2020/05/16 00:29:18 Submitted data: counter 167, observer 12.74
2020/05/16 00:29:19 Submitted data: counter 119, observer 12.54

example/metric/example.go Outdated Show resolved Hide resolved
@rghetia
Copy link
Contributor

rghetia commented May 16, 2020

The sample sometimes show the rpc error as follows that is relevant to #25 :

2020/05/16 00:29:13 Submitted data: counter 118, observer 12.49
2020/05/16 00:29:14 Submitted data: counter 181, observer 12.59
2020/05/16 00:29:15 Submitted data: counter 191, observer 12.54
2020/05/16 00:29:16 Submitted data: counter 175, observer 12.34
Metrics Accumulator error: rpc error: code = InvalidArgument desc = Field timeSeries[1].points[0].interval.start_time had an invalid value of "2020-05-15T08:29:16-07:00": The start time must be equal to the end time (2020-05-15T08:29:17-07:00) for the gauge metric 'custom.googleapis.com/opentelemetry/observer-a'.
2020/05/16 00:29:17 Submitted data: counter 161, observer 12.74
2020/05/16 00:29:18 Submitted data: counter 167, observer 12.74
2020/05/16 00:29:19 Submitted data: counter 119, observer 12.54

you could not set the start_time for gauge metric. then it probably won't complain.

@ymotongpoo
Copy link
Member Author

Example: Counter is working. Observer fails with the following error message.

2020/05/16 11:20:41 Submitted data: counter 141, observer 12.79
2020/05/16 11:20:51 Submitted data: counter 119, observer 12.64
2020/05/16 11:21:01 Submitted data: counter 173, observer 12.34
Metrics Accumulator error: rpc error: code = InvalidArgument desc = One or more TimeSeries could not be written: Value type for metric custom.googleapis.com/opentelemetry/observer-a conflicts with the existing value type (DOUBLE).: timeSeries[1]
2020/05/16 11:21:11 Submitted data: counter 100, observer 12.49
2020/05/16 11:21:21 Submitted data: counter 151, observer 12.69```

@ymotongpoo ymotongpoo changed the title WIP: Support metric exporter Support metric exporter May 16, 2020
@rghetia rghetia merged commit bc5120a into master May 16, 2020
@ymotongpoo ymotongpoo deleted the metric branch May 19, 2020 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request monitoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants