-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Feature: Revamp Services API to use QBV5 #9287
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Caution
Changes requested β
Reviewed everything up to 66f6b07 in 2 minutes and 41 seconds. Click for details.
- Reviewed
231
lines of code in7
files - Skipped
0
files when reviewing. - Skipped posting
4
draft comments. View those below. - Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with π or π to teach Ellipsis.
1. pkg/signoz/module.go:45
- Draft comment:
The ServicesQB module is added and instantiated via implservicesqb.NewModule(querier). Note that its Get method currently returns an empty slice. Please ensure that the QBV5 implementation is completed so that service names (including those starting with '@') are correctly handled to resolve issue #9251. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold50%
This comment is informative and suggests ensuring the completion of the QBV5 implementation. It does not provide a specific code suggestion or ask for a test to be written. It also asks the author to "ensure" something, which is against the rules.
2. pkg/modules/servicesqb/implservicesqb/module.go:20
- Draft comment:
Typographical note: The comment mentions "QBv5" while the commit title refers to "QBV5". Consider standardizing the casing for clarity. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% This comment is purely about documentation formatting and doesn't affect code functionality. It's a very minor stylistic issue about capitalization consistency. The rules state not to make purely informative comments or comments that are obvious/unimportant. This seems to fall into that category. Perhaps inconsistent documentation styling could lead to confusion for developers? Maybe there's an established style guide that makes this important? Even if there is a style guide, this is too minor of an issue to warrant a PR comment. It doesn't affect functionality and doesn't require a code change. Delete this comment as it's purely about documentation formatting and doesn't meet the threshold of importance for a PR comment.
3. pkg/modules/servicesqb/servicesqb.go:13
- Draft comment:
Inconsistent naming: the comment here uses "services_qbv5" while the Module interface comment (line 18) uses "services QBv5". Consider using a consistent term (e.g. "services QBV5") throughout the file. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% While the comment is technically correct about the inconsistency, it's a very minor documentation issue. The rules state to only keep comments that clearly require code changes and to not make purely informative comments. This seems more like a style nitpick that doesn't impact functionality or code quality significantly. The inconsistency could potentially cause confusion for developers searching for references to this service in the codebase. Documentation consistency does have some value. However, the impact is minimal, and this kind of minor documentation inconsistency doesn't meet the threshold of "clearly a code change required" as specified in the rules. The comment should be deleted as it violates the rule about not making purely informative comments and doesn't represent a significant enough issue to warrant a code change.
4. pkg/query-service/app/http_handler.go:540
- Draft comment:
Typo detected in the comment. It says "QBv5-based services endpoint" but to maintain consistency with the commit title and naming convention, it should likely be "QBV5-based services endpoint". - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% 1. The comment is about a minor capitalization issue in a code comment 2. Code comments are documentation, so consistency in terminology can be helpful 3. However, this is an extremely minor issue that doesn't affect functionality 4. The rules say to avoid unimportant comments and to only make comments that require code changes 5. A capitalization change in a comment is not a meaningful code change The comment is technically correct about maintaining consistency, but is it worth the overhead of having the PR author make this trivial change? While consistency is good, this is too minor of an issue to warrant a PR comment. It creates unnecessary back-and-forth for negligible benefit. Delete this comment. It's about an extremely minor capitalization issue in a code comment that doesn't affect functionality. The overhead of addressing it outweighs the minimal benefit.
Workflow ID: wflow_wXnVufL6U82uRcAn
You can customize by changing your verbosity settings, reacting with π or π, replying to comments, or adding code review rules.
Above is the log for the query. This contains the query as well as the arguments. The query in a beautified format below:
|
Without looking at the results, can we say why this query will produce incorrect or correct results? |
@nikhilmantri0902 writing down the check list discussed for the changes that involve queries you should keep in mind given the table schemas, and their relations
Once the correctness is achieved, we need to look into the performance part of it (it's an independent piece on its own). For the scope of this PR, please do the above exercise. |
Hi @srikanthccv I have pushed a commit that now passed
This now utilizes resources_string for service.name querying |
@nikhilmantri0902 please resolve the conflicts. |
@srikanth we will need a small frontend change also here. The response is now structured inside data field:
as I am using render.Success method for response. Earlier API response structure was :
using ah.WriteJSON method . |
π Summary
Revamp Services Page API to be wired up via querier using query builder V5
Closes #9251
β Changes
π·οΈ Required: Add Relevant Labels
ex:
backend
π₯ Reviewers
π§ͺ How to Test
π Related Issues
Closes #
πΈ Screenshots / Screen Recording (if applicable / mandatory for UI related changes)
π Checklist
π Notes for Reviewers
Important
Adds a new
/api/v1/services_qbv5
API endpoint using Query Builder V5 for the services page, with new modules and handlers integrated into the existing system./api/v1/services_qbv5
endpoint inhttp_handler.go
using Query Builder V5.Get
method inimplservicesqb/handler.go
to handle requests to the new endpoint.servicesqb
module withRequest
,ResponseItem
, andTagFilterItem
structs indto.go
.Module
andHandler
interfaces inimplservicesqb/module.go
andimplservicesqb/handler.go
.ServicesQB
handler insignoz/handler.go
andsignoz/module.go
.RegisterRoutes
inhttp_handler.go
to include the new endpoint.This description was created by
for 66f6b07. You can customize this summary. It will automatically update as commits are pushed.