Conversation
✅ Deploy Preview for polite-licorice-3db33c canceled.
|
Summary of ChangesHello @alxckn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the observability of the gRPC flag synchronization endpoint by integrating comprehensive OpenTelemetry metrics. It provides critical insights into the performance and usage patterns of streaming connections and unary flag fetch operations, enabling better monitoring and troubleshooting of the synchronization service. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
6a021ab to
4cd381d
Compare
There was a problem hiding this comment.
Code Review
This pull request introduces metrics for the gRPC sync endpoint, which is a great addition for observability. The implementation is solid, adding new metrics, updating the recorder interface, and integrating metric collection into the sync handlers. I've suggested one refactoring to improve code clarity and reduce duplication in the FetchAllFlags handler. Overall, this is a well-executed feature.
09a5f5e to
0d8ad6f
Compare
|
Good idea @alxckn , but I think some of these are close to the OTel defaults. I propose we: use
custom from this PR, use:
I think this will give us something more standard for the standard metrics, but also the really nice custom metrics you've invented that are specific to flagd. WDYT? |
2549444 to
adc09c1
Compare
|
|
@toddbaert @erka thank you for your reviews. I replaced custom metrics with oTel defaults and kept the 2 custom metrics that add value (renamed to be more coherent with custom metrics defined in the connect service). Other review comments and sonar recommendations adressed. |
|
@toddbaert do you think this PR may be merged and released soon ? I see you requested additional reviews I will take care of the conflicts |
Signed-off-by: Alexandre Chakroun <achakroun@macmail.fr>
Signed-off-by: Alexandre Chakroun <achakroun@macmail.fr>
Signed-off-by: Alexandre Chakroun <achakroun@macmail.fr>
Signed-off-by: Alexandre Chakroun <achakroun@macmail.fr>
Signed-off-by: Alexandre Chakroun <achakroun@macmail.fr>
a790343 to
8ab1c63
Compare
|



This PR
Adds OpenTelemetry metrics for the gRPC flag sync service to enable monitoring of sync connections and operations.
Metrics
Custom Metrics:
feature_flag.flagd.sync.active_streamsfeature_flag.flagd.sync.stream.durationStandard gRPC Metrics:
otelgrpc.NewServerHandler()for comprehensive gRPC server metrics (request counts, latencies, status codes, etc.)Changes
core/pkg/telemetry/metrics.goSyncFlagsstreaming RPC with stream lifecycle metrics