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

Do not use IsZero on timestamps obtained from pdata #336

Merged
merged 2 commits into from
Mar 28, 2022

Conversation

dashpole
Copy link
Contributor

Context: open-telemetry/opentelemetry-collector#5102. It isn't possible to round-trip timestamps before 1970 in the pdata timestamp package. An unset timestamp would be Timestamp(0), which returns false for AsTime().IsZero()

@dashpole dashpole requested a review from damemi March 28, 2022 18:50
@@ -586,6 +586,7 @@ func TestSummaryPointToTimeSeries(t *testing.T) {
quantile.SetQuantile(1.0)
quantile.SetValue(1.0)
end := start.Add(time.Hour)
point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
Copy link
Contributor

Choose a reason for hiding this comment

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

should we add a test for the 0 value conversion?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Zero is the default value, so it was being implicitly used in one of the tests. I made that usage explicit in the most recent commit.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, sounds good to me. Think I get it now

@@ -586,6 +586,7 @@ func TestSummaryPointToTimeSeries(t *testing.T) {
quantile.SetQuantile(1.0)
quantile.SetValue(1.0)
end := start.Add(time.Hour)
point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, sounds good to me. Think I get it now

@dashpole dashpole merged commit 5cefa44 into GoogleCloudPlatform:main Mar 28, 2022
@dashpole dashpole deleted the fix_start_time_comp branch March 28, 2022 19:48
damemi added a commit that referenced this pull request Apr 11, 2022
* Do not use IsZero on timestamps obtained from pdata (#336)

* do not use IsZero on timestamps obtained from pdata

* send summary counts as doubles instead of integers (#338)

* drop data points with no value set (#339)

* handle NaN sums in histograms and exponential histograms (#340)

* Fix broken links, typos in docs (#345)

* Update fixtures based on upstream changes to the prometheus receiver (#346)

* update fixtures based on upstream changes to the prometheus receiver

* feat(propagator): create a new one-way propagator (#343)

* feat(propagator): create a new one-way propagator

CloudTraceOneWayPropagator moves trace info from X-cloud-trace-context
into 'traceparent'.

* Apply suggestions from code review

Co-authored-by: David Ashpole <[email protected]>

* Update propagator to extract both, emit only traceparent

Users will no longer need to create a composite propagator, and there's
a clear precedence order between trace headers.

Co-authored-by: David Ashpole <[email protected]>

* Demonstrate that integration tests aren't catching failures (#349)

* demonstrate that integration tests aren't catching failures

* Update dependencies (#347)

update dependencies

* make gotidy

* React to rebase

Co-authored-by: David Ashpole <[email protected]>
Co-authored-by: Marc Dougherty <[email protected]>
damemi added a commit to damemi/opentelemetry-operations-go that referenced this pull request Apr 19, 2022
* Do not use IsZero on timestamps obtained from pdata (GoogleCloudPlatform#336)

* do not use IsZero on timestamps obtained from pdata

* send summary counts as doubles instead of integers (GoogleCloudPlatform#338)

* drop data points with no value set (GoogleCloudPlatform#339)

* handle NaN sums in histograms and exponential histograms (GoogleCloudPlatform#340)

* Fix broken links, typos in docs (GoogleCloudPlatform#345)

* Update fixtures based on upstream changes to the prometheus receiver (GoogleCloudPlatform#346)

* update fixtures based on upstream changes to the prometheus receiver

* feat(propagator): create a new one-way propagator (GoogleCloudPlatform#343)

* feat(propagator): create a new one-way propagator

CloudTraceOneWayPropagator moves trace info from X-cloud-trace-context
into 'traceparent'.

* Apply suggestions from code review

Co-authored-by: David Ashpole <[email protected]>

* Update propagator to extract both, emit only traceparent

Users will no longer need to create a composite propagator, and there's
a clear precedence order between trace headers.

Co-authored-by: David Ashpole <[email protected]>

* Demonstrate that integration tests aren't catching failures (GoogleCloudPlatform#349)

* demonstrate that integration tests aren't catching failures

* Update dependencies (GoogleCloudPlatform#347)

update dependencies

* make gotidy

* React to rebase

Co-authored-by: David Ashpole <[email protected]>
Co-authored-by: Marc Dougherty <[email protected]>
damemi added a commit that referenced this pull request Apr 20, 2022
* Do not use IsZero on timestamps obtained from pdata (#336)

* do not use IsZero on timestamps obtained from pdata

* send summary counts as doubles instead of integers (#338)

* drop data points with no value set (#339)

* handle NaN sums in histograms and exponential histograms (#340)

* Fix broken links, typos in docs (#345)

* Update fixtures based on upstream changes to the prometheus receiver (#346)

* update fixtures based on upstream changes to the prometheus receiver

* feat(propagator): create a new one-way propagator (#343)

* feat(propagator): create a new one-way propagator

CloudTraceOneWayPropagator moves trace info from X-cloud-trace-context
into 'traceparent'.

* Apply suggestions from code review

Co-authored-by: David Ashpole <[email protected]>

* Update propagator to extract both, emit only traceparent

Users will no longer need to create a composite propagator, and there's
a clear precedence order between trace headers.

Co-authored-by: David Ashpole <[email protected]>

* Demonstrate that integration tests aren't catching failures (#349)

* demonstrate that integration tests aren't catching failures

* Update dependencies (#347)

update dependencies

* address remaining nits from #347 (#351)

* prepare for release (#353)

* add integration test with metrics from the prometheus receiver (#348)

* add make commands for release (#354)

* Send timeseries synchronously (#358)

* send timeseries syncronously

* update docs, and fix existing broken test

* Drop histograms without a sum (#359)

* update opentelemetry collector to v0.49.0

* drop histograms without a sum

* Update logging export to use new v0.49 types

Co-authored-by: David Ashpole <[email protected]>
Co-authored-by: Marc Dougherty <[email protected]>
damemi added a commit that referenced this pull request Apr 29, 2022
* Do not use IsZero on timestamps obtained from pdata (#336)

* do not use IsZero on timestamps obtained from pdata

* send summary counts as doubles instead of integers (#338)

* drop data points with no value set (#339)

* handle NaN sums in histograms and exponential histograms (#340)

* Fix broken links, typos in docs (#345)

* Update fixtures based on upstream changes to the prometheus receiver (#346)

* update fixtures based on upstream changes to the prometheus receiver

* feat(propagator): create a new one-way propagator (#343)

* feat(propagator): create a new one-way propagator

CloudTraceOneWayPropagator moves trace info from X-cloud-trace-context
into 'traceparent'.

* Apply suggestions from code review

Co-authored-by: David Ashpole <[email protected]>

* Update propagator to extract both, emit only traceparent

Users will no longer need to create a composite propagator, and there's
a clear precedence order between trace headers.

Co-authored-by: David Ashpole <[email protected]>

* Demonstrate that integration tests aren't catching failures (#349)

* demonstrate that integration tests aren't catching failures

* Update dependencies (#347)

update dependencies

* address remaining nits from #347 (#351)

* prepare for release (#353)

* add integration test with metrics from the prometheus receiver (#348)

* add make commands for release (#354)

* Send timeseries synchronously (#358)

* send timeseries syncronously

* update docs, and fix existing broken test

* Drop histograms without a sum (#359)

* update opentelemetry collector to v0.49.0

* drop histograms without a sum

* Add sum of squared deviation estimate (#341)

* add sum of squared deviation estimate

* Add missing otel attributes to Spans exported to Cloud Trace (#365)

* Add instrumentation library to span attributes.

* Add test to ensure resource + instrumentation-scope labels show up in spans.

* Expand testing.

* Move resource mapping into shared module, and add monitored resource labels to trace spans.

* Do the go mod tidy shuffle.

* Fix docker build to include new shared module.

* Bump back to go 1.17

* Migrate to SDK version of semantic convention constants instead of Collector's.

* Clean up documents.

* Normalize histograms, summaries, and exponential histograms (#360)

* normalize remaining cumulative data points

* use the timeout passed to the metrics exporter (#369)

* make gotidy

* Resolve conflicts from missed file

Co-authored-by: David Ashpole <[email protected]>
Co-authored-by: Marc Dougherty <[email protected]>
Co-authored-by: Josh Suereth <[email protected]>
damemi added a commit that referenced this pull request Apr 29, 2022
* Do not use IsZero on timestamps obtained from pdata (#336)

* do not use IsZero on timestamps obtained from pdata

* send summary counts as doubles instead of integers (#338)

* drop data points with no value set (#339)

* handle NaN sums in histograms and exponential histograms (#340)

* Fix broken links, typos in docs (#345)

* Update fixtures based on upstream changes to the prometheus receiver (#346)

* update fixtures based on upstream changes to the prometheus receiver

* feat(propagator): create a new one-way propagator (#343)

* feat(propagator): create a new one-way propagator

CloudTraceOneWayPropagator moves trace info from X-cloud-trace-context
into 'traceparent'.

* Apply suggestions from code review

Co-authored-by: David Ashpole <[email protected]>

* Update propagator to extract both, emit only traceparent

Users will no longer need to create a composite propagator, and there's
a clear precedence order between trace headers.

Co-authored-by: David Ashpole <[email protected]>

* Demonstrate that integration tests aren't catching failures (#349)

* demonstrate that integration tests aren't catching failures

* Update dependencies (#347)

update dependencies

* address remaining nits from #347 (#351)

* prepare for release (#353)

* add integration test with metrics from the prometheus receiver (#348)

* add make commands for release (#354)

* Send timeseries synchronously (#358)

* send timeseries syncronously

* update docs, and fix existing broken test

* Drop histograms without a sum (#359)

* update opentelemetry collector to v0.49.0

* drop histograms without a sum

* Add sum of squared deviation estimate (#341)

* add sum of squared deviation estimate

* Add missing otel attributes to Spans exported to Cloud Trace (#365)

* Add instrumentation library to span attributes.

* Add test to ensure resource + instrumentation-scope labels show up in spans.

* Expand testing.

* Move resource mapping into shared module, and add monitored resource labels to trace spans.

* Do the go mod tidy shuffle.

* Fix docker build to include new shared module.

* Bump back to go 1.17

* Migrate to SDK version of semantic convention constants instead of Collector's.

* Clean up documents.

* Normalize histograms, summaries, and exponential histograms (#360)

* normalize remaining cumulative data points

* use the timeout passed to the metrics exporter (#369)

Co-authored-by: David Ashpole <[email protected]>
Co-authored-by: Marc Dougherty <[email protected]>
Co-authored-by: Josh Suereth <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants