-
Notifications
You must be signed in to change notification settings - Fork 113
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
refactor: split trade desk into audience and realtime conversions destinations #3091
Conversation
Important Auto Review SkippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the To trigger a single review, invoke the WalkthroughThe overall changes involve a significant refactoring of the integration with The Trade Desk in a codebase, focusing on streamlining and optimizing the handling of event tracking and real-time conversions. Support for certain event types and specific functionalities has been removed, with a notable shift towards enhancing real-time conversions through new configurations and utility functions. This restructuring indicates a move towards a more focused and efficient integration approach with The Trade Desk's API, improving payload preparation, event handling, and data processing. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 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 as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/3091/test-report.html |
@Gauravudia: It seems like your comment might have been cut off. Did you want a review of the pull request, or was there something specific you needed assistance with? Please let me know how I can assist you further. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #3091 +/- ##
===========================================
- Coverage 87.21% 87.19% -0.02%
===========================================
Files 537 538 +1
Lines 29243 29191 -52
Branches 6962 6953 -9
===========================================
- Hits 25503 25452 -51
+ Misses 3393 3392 -1
Partials 347 347 ☔ View full report in Codecov by Sentry. |
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/3091/test-report.html |
@coderabbitai review |
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.
Review Status
Actionable comments generated: 11
Configuration used: CodeRabbit UI
Files ignored due to path filters (4)
src/cdk/v2/destinations/the_trade_desk/rtWorkflow.yaml
is excluded by:!**/*.yaml
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/data/TTDCommonConfig.json
is excluded by:!**/*.json
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/data/TTDItemConfig.json
is excluded by:!**/*.json
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/procWorkflow.yaml
is excluded by:!**/*.yaml
Files selected for processing (14)
- src/cdk/v2/destinations/the_trade_desk/config.js (2 hunks)
- src/cdk/v2/destinations/the_trade_desk/transformRecord.js (3 hunks)
- src/cdk/v2/destinations/the_trade_desk/utils.js (2 hunks)
- src/cdk/v2/destinations/the_trade_desk/utils.test.js (2 hunks)
- src/cdk/v2/destinations/the_trade_desk_real_time_conversions/config.js (1 hunks)
- src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.js (1 hunks)
- src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.test.js (1 hunks)
- src/v0/destinations/the_trade_desk/networkHandler.js (2 hunks)
- test/integrations/destinations/the_trade_desk/common.ts (2 hunks)
- test/integrations/destinations/the_trade_desk/delivery/data.ts (2 hunks)
- test/integrations/destinations/the_trade_desk/network.ts (2 hunks)
- test/integrations/destinations/the_trade_desk/router/data.ts (6 hunks)
- test/integrations/destinations/the_trade_desk_real_time_conversions/common.ts (1 hunks)
- test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts (1 hunks)
Files skipped from review due to trivial changes (1)
- test/integrations/destinations/the_trade_desk_real_time_conversions/common.ts
Additional comments: 12
src/cdk/v2/destinations/the_trade_desk/config.js (1)
- 1-1: LGTM! The changes align with the PR's objectives to focus on audience syncing by removing support for 'track' events and related constants.
test/integrations/destinations/the_trade_desk/common.ts (1)
- 3-15: > 📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [1-1]
LGTM! The updates to the test configurations align with the changes in the destination's structure and functionality.
src/cdk/v2/destinations/the_trade_desk/utils.js (1)
- 1-1: LGTM! The refactoring of utility functions aligns with the PR's objectives to streamline and simplify the destination for audience syncing.
src/cdk/v2/destinations/the_trade_desk/utils.test.js (1)
- 1-1: LGTM! The updates to the test file align with the refactoring of utility functions, ensuring relevant and focused test coverage.
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/config.js (1)
- 1-1: LGTM! The configurations introduced are essential for the focused handling of real-time conversion events in the new destination structure.
test/integrations/destinations/the_trade_desk/network.ts (1)
- 1-1: LGTM! The updates to the test file align with the changes in the destination's structure and functionality, ensuring accurate test coverage.
src/cdk/v2/destinations/the_trade_desk/transformRecord.js (1)
- 1-1: LGTM! The simplification and adjustments in the file align with the destination's refocused functionality on audience syncing.
src/v0/destinations/the_trade_desk/networkHandler.js (1)
- 8-35: > 📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [1-1]
LGTM! The refactoring enhances the destination's security, reliability, and error handling, aligning with best practices.
test/integrations/destinations/the_trade_desk/delivery/data.ts (1)
- 5-10: > 📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [1-1]
LGTM! The updates to the test data align with the new destination structure and functionality, ensuring accurate test coverage.
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.js (1)
- 1-1: LGTM! The utility functions introduced are essential for the focused handling of real-time conversion events in the new destination structure.
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts (2)
- 482-899: The 'Custom event' test case demonstrates the use of custom properties mapping. Ensure that the mapping logic is thoroughly tested in other parts of the codebase, as this test case only verifies the output structure but not the mapping functionality itself.
- 906-978: The 'Mapped standard trade desk event' test case changes the event name from 'custom event abc' to 'direction' based on the eventsMapping configuration. Verify that the mapping functionality works as expected across various event types and scenarios.
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts
Show resolved
Hide resolved
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.test.js
Show resolved
Hide resolved
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.test.js
Show resolved
Hide resolved
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.test.js
Show resolved
Hide resolved
src/cdk/v2/destinations/the_trade_desk_real_time_conversions/utils.test.js
Show resolved
Hide resolved
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts
Show resolved
Hide resolved
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts
Show resolved
Hide resolved
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts
Outdated
Show resolved
Hide resolved
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts
Outdated
Show resolved
Hide resolved
test/integrations/destinations/the_trade_desk_real_time_conversions/processor/data.ts
Outdated
Show resolved
Hide resolved
Overall looks good, what was the main reason for this? is it came from product or more of tech decision? |
Not feasible to support multiple dest types in a single destination due to |
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/3091/test-report.html |
1 similar comment
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/3091/test-report.html |
Quality Gate passedIssues Measures |
We need some research on how to support multiple use-cases of a destination within one definition - this is not there as of today. And research needs UI layout changes along with backend handling. |
What are the changes introduced in this PR?
audience
andreal time conversions
destinations. Where audience destination will be used for syncing audience from warehouse source through rETL flow and real time conversions destination will be used for tracking conversions through even stream flow.the_trade_desk
andthe_trade_desk_real_time_conversions
processor
What is the related Linear task?
Resolves INT-1558
Please explain the objectives of your changes below
Put down any required details on the broader aspect of your changes. If there are any dependent changes, mandatorily mention them here
webapp and integration config PR's for separating out trade desk destination.
https://github.com/rudderlabs/rudder-webapp/pull/6057
rudderlabs/rudder-integrations-config#1213
rudderlabs/rudder-integrations-config#1212
Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?
N/A
Any new dependencies introduced with this change?
N/A
Any new generic utility introduced or modified. Please explain the changes.
N/A
Any technical or performance related pointers to consider with the change?
N/A
Developer checklist
My code follows the style guidelines of this project
No breaking changes are being introduced.
All related docs linked with the PR?
All changes manually tested?
Any documentation changes needed with this change?
Is the PR limited to 10 file changes?
Is the PR limited to one linear task?
Are relevant unit and component test-cases added?
Reviewer checklist
Is the type of change in the PR title appropriate as per the changes?
Verified that there are no credentials or confidential data exposed with the changes.
Summary by CodeRabbit