-
Notifications
You must be signed in to change notification settings - Fork 0
chore: pull metrics into its own target #592
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
Conversation
WalkthroughThe pull request restructures the project’s metrics-related code by updating numerous import paths from Changes
Possibly related PRs
Poem
Warning Review ran into problems🔥 ProblemsGitHub Actions and Pipeline Checks: Resource not accessible by integration - https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository. Please grant the required permissions to the CodeRabbit GitHub App under the organization or repository settings. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Co-authored-by: Thomas Chow <[email protected]> Co-authored-by: Thomas Chow <[email protected]>
Co-authored-by: Thomas Chow <[email protected]> Co-authored-by: Thomas Chow <[email protected]>
9aeb4d2
to
2215dc9
Compare
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.
Couple of minor nit shaped comments
@@ -141,6 +146,7 @@ class Fetcher(val kvStore: KVStore, | |||
val combinedResponsesF = | |||
internalResponsesF.zip(externalResponsesF).map { case (internalResponses, externalResponses) => | |||
internalResponses.zip(externalResponses).map { case (internalResponse, externalResponse) => | |||
import ai.chronon.online.metrics |
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.
nit - should we just import this at the class level imports?
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.
whoops missed this
@@ -44,8 +44,10 @@ class GroupByFetcher(fetchContext: FetchContext, metadataStore: MetadataStore) | |||
private def toLambdaKvRequest(request: Fetcher.Request): Try[LambdaKvRequest] = metadataStore | |||
.getGroupByServingInfo(request.name) | |||
.map { groupByServingInfo => | |||
import ai.chronon.online.metrics |
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.
we don't need this right?
@@ -14,13 +14,10 @@ | |||
* limitations under the License. | |||
*/ | |||
|
|||
package ai.chronon.online | |||
package ai.chronon.online.metrics |
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.
not needed?
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.
This is used by TTLCache which in turn is used by the Metrics API, so unfortunately this is the simplest way to do the refactor right now. Agree this might live elsewhere, maybe a utils online module that is also slimmer. I will keep here for now and move in a future refactor.
Co-authored-by: Thomas Chow <[email protected]>
Co-authored-by: Thomas Chow <[email protected]>
Co-authored-by: Thomas Chow <[email protected]>
0495e10
to
a500c32
Compare
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.
Actionable comments posted: 0
♻️ Duplicate comments (1)
online/src/main/scala/ai/chronon/online/fetcher/Fetcher.scala (1)
148-148
: Duplicate: consolidate import at class level
🧹 Nitpick comments (3)
online/src/main/scala/ai/chronon/online/fetcher/Fetcher.scala (3)
25-27
: Minimize wildcard import usage
45-45
: Check local import necessity
65-66
: Local import redundancy
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro (Legacy)
📒 Files selected for processing (1)
online/src/main/scala/ai/chronon/online/fetcher/Fetcher.scala
(11 hunks)
🧰 Additional context used
🧬 Code Definitions (1)
online/src/main/scala/ai/chronon/online/fetcher/Fetcher.scala (2)
online/src/main/scala/ai/chronon/online/metrics/Metrics.scala (7)
Metrics
(24-251)distribution
(208-211)distribution
(211-214)Name
(56-85)Context
(87-149)Context
(151-250)Environment
(25-41)online/src/main/scala/ai/chronon/online/metrics/TTLCache.scala (2)
TTLCache
(25-27)TTLCache
(32-99)
⏰ Context from checks skipped due to timeout of 90000ms (16)
- GitHub Check: streaming_tests
- GitHub Check: streaming_tests
- GitHub Check: analyzer_tests
- GitHub Check: join_tests
- GitHub Check: spark_tests
- GitHub Check: groupby_tests
- GitHub Check: join_tests
- GitHub Check: fetcher_tests
- GitHub Check: groupby_tests
- GitHub Check: analyzer_tests
- GitHub Check: non_spark_tests
- GitHub Check: fetcher_tests
- GitHub Check: batch_tests
- GitHub Check: spark_tests
- GitHub Check: non_spark_tests
- GitHub Check: enforce_triggered_workflows
🔇 Additional comments (8)
online/src/main/scala/ai/chronon/online/fetcher/Fetcher.scala (8)
50-50
: Looks correct
74-76
: Approved
114-114
: Good usage
169-169
: Good usage
383-383
: Fine
426-426
: Ok
435-435
: All good
479-481
: Context initialization looks good
## Summary - Metrics is actually used in many places, so let's pull it into its own slim target first. - Follow up in the spark offline side to further reduce the dep on online. ## Checklist - [ ] Added Unit Tests - [ ] Covered by existing CI - [ ] Integration tested - [ ] Documentation update <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Launched a dedicated metrics library to enhance performance monitoring and reporting. - **Refactor** - Consolidated and updated metrics imports and context handling across services for improved consistency. - **Tests** - Aligned test configurations with the new metrics framework to ensure robust validation. These improvements streamline performance tracking and dependency management internally while bolstering the overall reliability of the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- av pr metadata This information is embedded by the av CLI when creating PRs to track the status of stacks when using Aviator. Please do not delete or edit this section of the PR. ``` {"parent":"main","parentHead":"","trunk":"main"} ``` --> --------- Co-authored-by: Thomas Chow <[email protected]>
## Summary - Metrics is actually used in many places, so let's pull it into its own slim target first. - Follow up in the spark offline side to further reduce the dep on online. ## Checklist - [ ] Added Unit Tests - [ ] Covered by existing CI - [ ] Integration tested - [ ] Documentation update <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Launched a dedicated metrics library to enhance performance monitoring and reporting. - **Refactor** - Consolidated and updated metrics imports and context handling across services for improved consistency. - **Tests** - Aligned test configurations with the new metrics framework to ensure robust validation. These improvements streamline performance tracking and dependency management internally while bolstering the overall reliability of the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- av pr metadata This information is embedded by the av CLI when creating PRs to track the status of stacks when using Aviator. Please do not delete or edit this section of the PR. ``` {"parent":"main","parentHead":"","trunk":"main"} ``` --> --------- Co-authored-by: Thomas Chow <[email protected]>
## Summary - Metrics is actually used in many places, so let's pull it into its own slim target first. - Follow up in the spark offline side to further reduce the dep on online. ## Checklist - [ ] Added Unit Tests - [ ] Covered by existing CI - [ ] Integration tested - [ ] Documentation update <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Launched a dedicated metrics library to enhance performance monitoring and reporting. - **Refactor** - Consolidated and updated metrics imports and context handling across services for improved consistency. - **Tests** - Aligned test configurations with the new metrics framework to ensure robust validation. These improvements streamline performance tracking and dependency management internally while bolstering the overall reliability of the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- av pr metadata This information is embedded by the av CLI when creating PRs to track the status of stacks when using Aviator. Please do not delete or edit this section of the PR. ``` {"parent":"main","parentHead":"","trunk":"main"} ``` --> --------- Co-authored-by: Thomas Chow <[email protected]>
## Summary - Metrics is actually used in many places, so let's pull it into its own slim target first. - Follow up in the spark offline side to further reduce the dep on online. ## Checklist - [ ] Added Unit Tests - [ ] Covered by existing CI - [ ] Integration tested - [ ] Documentation update <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Launched a dedicated metrics library to enhance performance monitoring and reporting. - **Refactor** - Consolidated and updated metrics imports and context handling across services for improved consistency. - **Tests** - Aligned test configurations with the new metrics framework to ensure robust validation. These improvements streamline performance tracking and dependency management internally while bolstering the overall reliability of the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- av pr metadata This information is embedded by the av CLI when creating PRs to track the status of stacks when using Aviator. Please do not delete or edit this section of the PR. ``` {"parent":"main","parentHead":"","trunk":"main"} ``` --> --------- Co-authored-by: Thomas Chow <[email protected]>
## Summary - Metrics is actually used in many places, so let's pull it into its own slim target first. - Follow up in the spark offline side to further reduce the dep on online. ## Cheour clientslist - [ ] Added Unit Tests - [ ] Covered by existing CI - [ ] Integration tested - [ ] Documentation update <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Launched a dedicated metrics library to enhance performance monitoring and reporting. - **Refactor** - Consolidated and updated metrics imports and context handling across services for improved consistency. - **Tests** - Aligned test configurations with the new metrics framework to ensure robust validation. These improvements streamline performance traour clientsing and dependency management internally while bolstering the overall reliability of the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- av pr metadata This information is embedded by the av CLI when creating PRs to traour clients the status of staour clientss when using Aviator. Please do not delete or edit this section of the PR. ``` {"parent":"main","parentHead":"","trunk":"main"} ``` --> --------- Co-authored-by: Thomas Chow <[email protected]>
Summary
Checklist
Summary by CodeRabbit
These improvements streamline performance tracking and dependency management internally while bolstering the overall reliability of the application.