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
Add mdc to update command (DAT-12602) #3647
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Create the basic APIs for MDC in support of structured logging.
This reverts commit 096b067.
…ge types with "path" attributes (#3244) Extends the DESCRIPTION column of the DATABASECHANGELOG for sqlFile by the path specification, for example sqlFile path=IUNT200.sql Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net>
#3377) Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org>
# Conflicts: # liquibase-core/src/main/java/liquibase/logging/mdc/MdcManager.java # liquibase-core/src/main/java/liquibase/logging/mdc/NoOpMdcManager.java # liquibase-core/src/test/groovy/liquibase/ScopeTest.groovy
abrackx
requested review from
StevenMassaro,
wwillard7800,
suryaaki2 and
MalloD12
January 6, 2023 12:41
StevenMassaro
approved these changes
Jan 6, 2023
liquibase-core/src/main/java/liquibase/integration/commandline/Main.java
Outdated
Show resolved
Hide resolved
Nice work here, this looks great! |
filipelautert
approved these changes
Jan 6, 2023
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.
All good!
@abrackx Can we add some tests? |
wwillard7800
approved these changes
Jan 6, 2023
suryaaki2
pushed a commit
that referenced
this pull request
Feb 23, 2023
* add MDC interfaces and base classes (DAT-12601) (#3567) Create the basic APIs for MDC in support of structured logging. * API changes to support structured logging (DAT-12652) (#3600) Primarily, this PR allows the JavaLogService to supply its own custom formatter class that is used on the handler for the logging library. * add configuration option for log format (DAT-12727) (#3644) Add a log format configuration option. * Add mdc to update command (DAT-12602) (#3647) * add MDC interfaces and base classes (DAT-12601) (#3567) Create the basic APIs for MDC in support of structured logging. * set log format in log service * add deprecated annotation * Revert "set log format in log service" This reverts commit 096b067. * use log formatter for JSON logging * add MDC to structured log output * fix test * Include "path" in databasechangelog's description column for all change types with "path" attributes (#3244) Extends the DESCRIPTION column of the DATABASECHANGELOG for sqlFile by the path specification, for example sqlFile path=IUNT200.sql Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> * #1466: Add ignore:true changeset attribute to Formatted SQL changeLogs (#3377) Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * [DAT-12602] Initial update mdc implementation. * add configuration option for log format * [DAT-12602] Adds remaining mdc values. Reworks to use static strings over enum. * [DAT-12602] Remove unused keys, fixed formatting. * [DAT-12602] Adds system information to mdc. * [DAT-12602] Fixes formatting for mdckey. * [DAT-12602] Simplifies getting mdc for command name. * updated logFormat description * warn about invalid values for log format * [DAT-12602] Add changeset outcome to info log, fix deployment outcome to actually show in info. * Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602" This reverts commit 6e9163d, reversing changes made to 1ceec55. * Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602" This reverts commit 8554e29, reversing changes made to 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602"" This reverts commit 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602"" This reverts commit 12f6539. * [DAT-12602] Fix liquibase system information mdc. * [DAT-12602] Fix logged liquibase version. * Revert change to build.properties * safely cast logformat - fixes using the default value * [DAT-12602] Adds mdc for failed changeset outcome. Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> Co-authored-by: MichaelKern-IVV <102645261+MichaelKern-IVV@users.noreply.github.com> Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> Co-authored-by: skrivenko <72100114+skrivenko@users.noreply.github.com> Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * Updates MdcKeys (DAT-12915) (#3679) * add MDC interfaces and base classes (DAT-12601) (#3567) Create the basic APIs for MDC in support of structured logging. * set log format in log service * add deprecated annotation * Revert "set log format in log service" This reverts commit 096b067. * use log formatter for JSON logging * add MDC to structured log output * fix test * Include "path" in databasechangelog's description column for all change types with "path" attributes (#3244) Extends the DESCRIPTION column of the DATABASECHANGELOG for sqlFile by the path specification, for example sqlFile path=IUNT200.sql Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> * #1466: Add ignore:true changeset attribute to Formatted SQL changeLogs (#3377) Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * [DAT-12602] Initial update mdc implementation. * add configuration option for log format * [DAT-12602] Adds remaining mdc values. Reworks to use static strings over enum. * [DAT-12602] Remove unused keys, fixed formatting. * [DAT-12602] Adds system information to mdc. * [DAT-12602] Fixes formatting for mdckey. * [DAT-12602] Simplifies getting mdc for command name. * updated logFormat description * warn about invalid values for log format * [DAT-12602] Add changeset outcome to info log, fix deployment outcome to actually show in info. * Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602" This reverts commit 6e9163d, reversing changes made to 1ceec55. * Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602" This reverts commit 8554e29, reversing changes made to 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602"" This reverts commit 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602"" This reverts commit 12f6539. * [DAT-12602] Fix liquibase system information mdc. * [DAT-12602] Fix logged liquibase version. * [DAT-12915] Replaces liquibaseTargetType/liquibaseTargetUrl with liquibaseTargetUrl and unused liquibaseRefUrl. * Revert change to build.properties * safely cast logformat - fixes using the default value * [DAT-12602] Adds mdc for failed changeset outcome. Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> Co-authored-by: MichaelKern-IVV <102645261+MichaelKern-IVV@users.noreply.github.com> Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> Co-authored-by: skrivenko <72100114+skrivenko@users.noreply.github.com> Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * add pretty-printed-json format for log output (DAT-13000) (#3714) Add an option to print structured logs in JSON format, without minifying them. * add MDC for rollback command (DAT-12698) (#3732) * add changelog properties to update MDC (DAT-12972) (#3757) * Adds deploymentOutcomeCount to MDC (DAT-12979) (#3766) * [DAT-12979] Adds deploymentOutcomeCount mdc. * [DAT-12979] Handles when hub is updating. * [DAT-12979] Reworks usage of hubChangeExecListener combined with defaultChangeExecutor. * [DAT-12979] Revert changes to HubChangeExecListener * reload the log service after registering value providers (DAT-12854) (#3771) * initial fix * remove unnecessary public static variable * Change exception message level for change set to severe DAT-12984 (#3739) * Include deploymentId and liquibaseTargetUrl mdc values during exception log (DAT-13012) (#3747) * move existing MDC logging to separate method * refactor adding outcomes to MDC and immediate removal * add MDC for rollback * [DAT-13012] Persist deploymentId and liquibaseTargetUrl mdc values during exception log. This change will also include any other mdc values that have not been manually removed from scope if an exception is encountered. --------- Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> * MDC for rollback-count command, support custom objects in MDC output (DAT-13023) (#3774) Add MDC for rollback-count command. Allow custom objects in MDC output. * add MDC for rollback-one-changeset (DAT-13024) (#3782) * add MDC for rollback-one-update (DAT-13025) (#3792) * Add changesetComment, changesetLabel mdc values (DAT-12919) (#3773) * [DAT-12919] Adds changeset labels, changeset comments to mdc. * [DAT-12919] Handles null comments/labels. * Adds deploymentOutcome mdc when change fails validation (DAT-12977) (#3744) * [DAT-12977] Adds deploymentOutcome: fail to mdc when change fails validation due to checksum error (or other error). * Trigger build * [DAT-12977] Fixes multiple instances of deploymentOutcome when change fails validation. * Adds contexts, labels, contextFilters and labelFilters to mdc (DAT-12958) (#3789) * [DAT-12958] Adds changesetLabelFilter, changesetContextFilter mdcs keys. * [DAT-12958] Adds label filter/context filter to update to tag. * [DAT-12958] Adds mdc for updateCount, updateToTag. * [DAT-12958] Adds method for setting up labelfilter/contextfilter. * [DAT-12958] Renames filter keys, refactors to DRY for deploymentOutcome and deploymentOutcomeCount. * [DAT-12958] Refactors deploymentId generation. --------- Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> * MDC code to add labels and contexts DAT-13146 (#3795) MDC code to add labels and contexts DAT-13146 * Remove log message that caused duplicate structured log messages DAT-12961 (#3781) * Standardize commandLabelFilter/commandContextFilter mdc value format (DAT-12958) (#3801) * [DAT-12958] Formats all empty filters from "()" to "" in mdc. * [DAT-12958] Reworks to rely on originalString not just checking if it matches empty parenths. * add MDC for rollback-to-date (DAT-13027) (#3796) * add MDC for rollback-to-date * code cleanup and deduplication * DAT-13145: set log level to severe if using a log file with no log level set (#3805) * hide log format parameter (DAT-13501) (#3822) hide log format parameter * Change show summary default DAT-13497 (#3818) * Add labels/context information to rollback operations DAT-13146 * Set default for show summary to OFF DAT-13147 * Adds databaseChangelogSQL mdc key (DAT-13092) (#3810) * [DAT-13092] Adds databaseChangelogSQL mdc key, populates via StandardChangelogHistoryService and StandardLockService. Moves changesetSql mdc population into Changeset class. * [DAT-13092] Fixes lock test. * [DAT-13092] Handles rollback and update statements. * [DAT-13092] Fixes logic to only generate rollback statements when actually applicable. * [DAT-13092] Only add sql to mdc if it is supported. * [DAT-13092] Adds javadocs to new util method. * [DAT-13092] Adds javadocs * Adds databaseChangelogTableOutcome mdc (DAT-12978) (#3815) * [DAT-12978] Log databaseChangelogTableOutcome mdc. * [DAT-12978] Fix test. * add MDC for sqlFile used in a rollback * add javadoc to RollbackSqlFile * fix NPE * fix test failure --------- Co-authored-by: Alex <abrackx@gmail.com> Co-authored-by: MichaelKern-IVV <102645261+MichaelKern-IVV@users.noreply.github.com> Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> Co-authored-by: skrivenko <72100114+skrivenko@users.noreply.github.com> Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> Co-authored-by: Wesley Willard <wwillard@datical.com> Co-authored-by: Wesley willard <wwillard@liquibase.com>
suryaaki2
pushed a commit
that referenced
this pull request
Feb 23, 2023
…#3846) * add MDC interfaces and base classes (DAT-12601) (#3567) Create the basic APIs for MDC in support of structured logging. * API changes to support structured logging (DAT-12652) (#3600) Primarily, this PR allows the JavaLogService to supply its own custom formatter class that is used on the handler for the logging library. * add configuration option for log format (DAT-12727) (#3644) Add a log format configuration option. * Add mdc to update command (DAT-12602) (#3647) * add MDC interfaces and base classes (DAT-12601) (#3567) Create the basic APIs for MDC in support of structured logging. * set log format in log service * add deprecated annotation * Revert "set log format in log service" This reverts commit 096b067. * use log formatter for JSON logging * add MDC to structured log output * fix test * Include "path" in databasechangelog's description column for all change types with "path" attributes (#3244) Extends the DESCRIPTION column of the DATABASECHANGELOG for sqlFile by the path specification, for example sqlFile path=IUNT200.sql Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> * #1466: Add ignore:true changeset attribute to Formatted SQL changeLogs (#3377) Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * [DAT-12602] Initial update mdc implementation. * add configuration option for log format * [DAT-12602] Adds remaining mdc values. Reworks to use static strings over enum. * [DAT-12602] Remove unused keys, fixed formatting. * [DAT-12602] Adds system information to mdc. * [DAT-12602] Fixes formatting for mdckey. * [DAT-12602] Simplifies getting mdc for command name. * updated logFormat description * warn about invalid values for log format * [DAT-12602] Add changeset outcome to info log, fix deployment outcome to actually show in info. * Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602" This reverts commit 6e9163d, reversing changes made to 1ceec55. * Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602" This reverts commit 8554e29, reversing changes made to 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602"" This reverts commit 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602"" This reverts commit 12f6539. * [DAT-12602] Fix liquibase system information mdc. * [DAT-12602] Fix logged liquibase version. * Revert change to build.properties * safely cast logformat - fixes using the default value * [DAT-12602] Adds mdc for failed changeset outcome. Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> Co-authored-by: MichaelKern-IVV <102645261+MichaelKern-IVV@users.noreply.github.com> Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> Co-authored-by: skrivenko <72100114+skrivenko@users.noreply.github.com> Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * Updates MdcKeys (DAT-12915) (#3679) * add MDC interfaces and base classes (DAT-12601) (#3567) Create the basic APIs for MDC in support of structured logging. * set log format in log service * add deprecated annotation * Revert "set log format in log service" This reverts commit 096b067. * use log formatter for JSON logging * add MDC to structured log output * fix test * Include "path" in databasechangelog's description column for all change types with "path" attributes (#3244) Extends the DESCRIPTION column of the DATABASECHANGELOG for sqlFile by the path specification, for example sqlFile path=IUNT200.sql Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> * #1466: Add ignore:true changeset attribute to Formatted SQL changeLogs (#3377) Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * [DAT-12602] Initial update mdc implementation. * add configuration option for log format * [DAT-12602] Adds remaining mdc values. Reworks to use static strings over enum. * [DAT-12602] Remove unused keys, fixed formatting. * [DAT-12602] Adds system information to mdc. * [DAT-12602] Fixes formatting for mdckey. * [DAT-12602] Simplifies getting mdc for command name. * updated logFormat description * warn about invalid values for log format * [DAT-12602] Add changeset outcome to info log, fix deployment outcome to actually show in info. * Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602" This reverts commit 6e9163d, reversing changes made to 1ceec55. * Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602" This reverts commit 8554e29, reversing changes made to 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-11693' into DAT-12602"" This reverts commit 10d540b. * Revert "Revert "Merge remote-tracking branch 'origin/DAT-12727' into DAT-12602"" This reverts commit 12f6539. * [DAT-12602] Fix liquibase system information mdc. * [DAT-12602] Fix logged liquibase version. * [DAT-12915] Replaces liquibaseTargetType/liquibaseTargetUrl with liquibaseTargetUrl and unused liquibaseRefUrl. * Revert change to build.properties * safely cast logformat - fixes using the default value * [DAT-12602] Adds mdc for failed changeset outcome. Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> Co-authored-by: MichaelKern-IVV <102645261+MichaelKern-IVV@users.noreply.github.com> Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> Co-authored-by: skrivenko <72100114+skrivenko@users.noreply.github.com> Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> * add pretty-printed-json format for log output (DAT-13000) (#3714) Add an option to print structured logs in JSON format, without minifying them. * add MDC for rollback command (DAT-12698) (#3732) * add changelog properties to update MDC (DAT-12972) (#3757) * Adds deploymentOutcomeCount to MDC (DAT-12979) (#3766) * [DAT-12979] Adds deploymentOutcomeCount mdc. * [DAT-12979] Handles when hub is updating. * [DAT-12979] Reworks usage of hubChangeExecListener combined with defaultChangeExecutor. * [DAT-12979] Revert changes to HubChangeExecListener * reload the log service after registering value providers (DAT-12854) (#3771) * initial fix * remove unnecessary public static variable * Change exception message level for change set to severe DAT-12984 (#3739) * Include deploymentId and liquibaseTargetUrl mdc values during exception log (DAT-13012) (#3747) * move existing MDC logging to separate method * refactor adding outcomes to MDC and immediate removal * add MDC for rollback * [DAT-13012] Persist deploymentId and liquibaseTargetUrl mdc values during exception log. This change will also include any other mdc values that have not been manually removed from scope if an exception is encountered. --------- Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> * MDC for rollback-count command, support custom objects in MDC output (DAT-13023) (#3774) Add MDC for rollback-count command. Allow custom objects in MDC output. * add MDC for rollback-one-changeset (DAT-13024) (#3782) * add MDC for rollback-one-update (DAT-13025) (#3792) * Add changesetComment, changesetLabel mdc values (DAT-12919) (#3773) * [DAT-12919] Adds changeset labels, changeset comments to mdc. * [DAT-12919] Handles null comments/labels. * Adds deploymentOutcome mdc when change fails validation (DAT-12977) (#3744) * [DAT-12977] Adds deploymentOutcome: fail to mdc when change fails validation due to checksum error (or other error). * Trigger build * [DAT-12977] Fixes multiple instances of deploymentOutcome when change fails validation. * Adds contexts, labels, contextFilters and labelFilters to mdc (DAT-12958) (#3789) * [DAT-12958] Adds changesetLabelFilter, changesetContextFilter mdcs keys. * [DAT-12958] Adds label filter/context filter to update to tag. * [DAT-12958] Adds mdc for updateCount, updateToTag. * [DAT-12958] Adds method for setting up labelfilter/contextfilter. * [DAT-12958] Renames filter keys, refactors to DRY for deploymentOutcome and deploymentOutcomeCount. * [DAT-12958] Refactors deploymentId generation. --------- Co-authored-by: Steven Massaro <steven.massaro.web@gmail.com> * MDC code to add labels and contexts DAT-13146 (#3795) MDC code to add labels and contexts DAT-13146 * Remove log message that caused duplicate structured log messages DAT-12961 (#3781) * Standardize commandLabelFilter/commandContextFilter mdc value format (DAT-12958) (#3801) * [DAT-12958] Formats all empty filters from "()" to "" in mdc. * [DAT-12958] Reworks to rely on originalString not just checking if it matches empty parenths. * add MDC for rollback-to-date (DAT-13027) (#3796) * add MDC for rollback-to-date * code cleanup and deduplication * DAT-13145: set log level to severe if using a log file with no log level set (#3805) * hide log format parameter (DAT-13501) (#3822) hide log format parameter * Change show summary default DAT-13497 (#3818) * Add labels/context information to rollback operations DAT-13146 * Set default for show summary to OFF DAT-13147 * Adds databaseChangelogSQL mdc key (DAT-13092) (#3810) * [DAT-13092] Adds databaseChangelogSQL mdc key, populates via StandardChangelogHistoryService and StandardLockService. Moves changesetSql mdc population into Changeset class. * [DAT-13092] Fixes lock test. * [DAT-13092] Handles rollback and update statements. * [DAT-13092] Fixes logic to only generate rollback statements when actually applicable. * [DAT-13092] Only add sql to mdc if it is supported. * [DAT-13092] Adds javadocs to new util method. * [DAT-13092] Adds javadocs * Adds databaseChangelogTableOutcome mdc (DAT-12978) (#3815) * [DAT-12978] Log databaseChangelogTableOutcome mdc. * [DAT-12978] Fix test. * show changesetsRolledback only after rollback is complete --------- Co-authored-by: Alex <abrackx@gmail.com> Co-authored-by: MichaelKern-IVV <102645261+MichaelKern-IVV@users.noreply.github.com> Co-authored-by: michaelmatthiaskern <michael.kern@mail.de> Co-authored-by: Nathan Voxland <nathan@voxland.net> Co-authored-by: skrivenko <72100114+skrivenko@users.noreply.github.com> Co-authored-by: skrivenko <skrivenko@users.noreply.github.com> Co-authored-by: filipe lautert <flautert@liquibase.org> Co-authored-by: Wesley Willard <wwillard@datical.com> Co-authored-by: Wesley willard <wwillard@liquibase.com> Co-authored-by: Alex Brackx <abrackx@liquibase.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Impact
Description
Adds mdc values for the update command.
Things to be aware of
Opted to create a
MdcKey
class to use to keep track of all relevant keys, as well as anMdcValue
class for any custom values that currently didn't map to something.Things to worry about
This technically reaches beyond just the update command, but there's not much I can do about that without refactoring a good amount of code. Not necessary for a POC imo.
Additional Context
N/A