dragosvictor opened a new pull request, #22624: URL: https://github.com/apache/pulsar/pull/22624
[PIP-264](https://github.com/apache/pulsar/blob/master/pip/pip-264.md) ### Motivation Exposes the current Schema Registry metrics described in the [doc](https://pulsar.apache.org/docs/next/reference-metrics/#schema-metrics) using OpenTelemetry. ### Modifications Modified `SchemaRegistryStats` to expose metrics `pulsar.broker.request.schema_registry.duration` and `pulsar.broker.operation.schema_registry.compatibility_check.count`. A full description of these metrics can be found in the documentation PR: https://github.com/apache/pulsar-site/pull/892. Unlike the former approach, this records request latencies irrespective of the response type (success/failure), thus simplifying the design. Modified `SchemaRegistryStats` to not be a singleton. This fits better with the OpenTelemetry design and allows for easier testing, as resources are not shared across tests. It broke parameterized test class `SimpleSchemaTest`, which had to be fixed by reordering the test based on the test instance object first. This way, no two instances of the same metric co-exist, as expected by the OpenTelemetry SDK. ### Verifying this change - [ ] Make sure that the change passes the CI checks. This change added tests and can be verified as follows: - Extended tests `SchemaServiceTest#testSchemaRegistryMetrics` and `SchemaServiceTest#checkIsCompatible` to validate the new metrics ### Does this pull request potentially affect one of the following parts: - [ ] Dependencies (add or upgrade a dependency) - [ ] The public API - [ ] The schema - [ ] The default values of configurations - [ ] The threading model - [ ] The binary protocol - [ ] The REST endpoints - [ ] The admin CLI options - [x] The metrics: _As described above_ - [ ] Anything that affects deployment ### Documentation - [ ] `doc` <!-- Your PR contains doc changes. --> - [x] `doc-required` https://github.com/apache/pulsar-site/pull/892 - [ ] `doc-not-needed` <!-- Your PR changes do not impact docs --> - [ ] `doc-complete` <!-- Docs have been already added --> ### Matching PR in forked repository PR in forked repository: https://github.com/dragosvictor/pulsar/pull/19 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
