Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[feat][broker] PIP-264: Add schema registry metrics #19

Closed
wants to merge 15 commits into from

Conversation

dragosvictor
Copy link
Owner

@dragosvictor dragosvictor commented Apr 26, 2024

PIP-264

Motivation

Exposes the current Schema Registry metrics described in the doc 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: apache/pulsar-site#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
  • The metrics: As described above
  • Anything that affects deployment

Documentation

Matching PR in forked repository

PR in forked repository: #19

@dragosvictor dragosvictor force-pushed the dmisca-pip-264-schema-registry-metrics branch 4 times, most recently from 359784c to 9bb6b0f Compare May 1, 2024 06:40
@dragosvictor dragosvictor force-pushed the dmisca-pip-264-schema-registry-metrics branch from d95c7f7 to d5c746b Compare May 30, 2024 17:14
@dragosvictor dragosvictor deleted the dmisca-pip-264-schema-registry-metrics branch June 7, 2024 17:00
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants