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]

Reply via email to