-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Verify compliant metric SDK specification implementation: MetricReader #3660
Comments
This recommendation is confusing. It applies to all readers but not all readers accept these parameters. Additionally, the default aggregation cardinality limit should be marked experimental. This is going to require a specification issue/PR. |
We are compliant with this. We provide a TODO: PR the specification to remove the "sub-class" term as our language does not have classes. |
This requirement is not clear to me. The reader is not the
This assumes all synchronous instruments record delta values and asynchronous instruments cumulative. This is not a valid assumption. A specification issue/PR is needed. |
This is non-normative, but I'm guessing the intent was to have it be normative. Again, given the temproality is not handled by the cc @dashpole |
A variable number of opentelemetry-go/sdk/metric/provider.go Lines 55 to 59 in c197fe9
opentelemetry-go/sdk/metric/pipeline.go Lines 486 to 494 in c197fe9
|
Each opentelemetry-go/sdk/metric/pipeline.go Lines 486 to 494 in c197fe9
That pipeline contains independent aggregators that are not shared with other pipelines: opentelemetry-go/sdk/metric/pipeline.go Line 77 in c197fe9
Recording a value for an instrument will make a measurement for each of these aggregations inpendently: opentelemetry-go/sdk/metric/instrument.go Lines 249 to 256 in c197fe9
opentelemetry-go/sdk/metric/instrument.go Lines 218 to 225 in c197fe9
Therefore, due to the separation of aggregators, the invocation of I think adding a test for this would be helpful to ensure compatibility. However, it is probably unlikely the test will be able to check all edge cases for this and isn't strictly required for the resolution of this issue. |
Both implementation of the opentelemetry-go/sdk/metric/periodic_reader.go Lines 189 to 195 in 84b2e54
opentelemetry-go/sdk/metric/manual_reader.go Lines 57 to 65 in 84b2e54
Given the method to register with the |
The opentelemetry-go/sdk/metric/reader.go Lines 81 to 103 in 84b2e54
Each of our implementations use the Go idiomatic way to define how each will respond by having methods of their own that implement the interface. |
This was just meant to carve out an exception to the rule above for MetricProducers. |
My reading of "must ensure that datapoints ... are output in [X] aggregation temporality" was that it could be fulfilled by passing aggregation temporality config to something that correctly handles aggregation temporality (e.g. an Aggregator, if such a thing exists). From the spec: I suspect at the time it was written, there was only the |
|
Given the parameters are recommendations, and are defined in RFC 2119 to mean ...
There exist a valid reason to ignore these parameters (e.g. does not export, has a dependency on cumulative temporality). I think the specification could have been better phrased, but I don't want to block this issue on fixing the phrasing in the specification. Moving on. |
Everything has been identified and verified to be compliant. Closing. |
The text was updated successfully, but these errors were encountered: