rewrite-maven-plugin icon indicating copy to clipboard operation
rewrite-maven-plugin copied to clipboard

Default behavior should be to print some basic heartbeat in console

Open nddipiazza-ebay opened this issue 1 year ago • 2 comments

When I run a open rewrite maven plugin on a big project,

cd nickBigProject
mvn -U "org.openrewrite.maven:rewrite-maven-plugin:run" "-Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:LATEST,org.openrewrite.recipe:rewrite-testing-frameworks:2.23.0-SNAPSHOT,org.openrewrite.recipe:rewrite-spring:LATEST" "-Drewrite.activeRecipes=org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration,org.openrewrite.java.testing.cleanup.TestsShouldNotBePublic,org.openrewrite.java.migrate.UpgradeToJava17,org.openrewrite.java.testing.mockito.ReplacePowerMockito,org.openrewrite.maven.RemoveDuplicateDependencies"

Here is my default logging:

[INFO] Project [nickBigProject] Parsing source files
[INFO] Running recipe(s)...

Meanwhile left wondering hmmmmm I wonder how it's going?

The Default logging some have some basic heartbeat.

nddipiazza-ebay avatar Nov 25 '24 17:11 nddipiazza-ebay

hi @nddipiazza-ebay ; Appreciate your concern when running on a large project; We've had some internal discussions around this subject in the past as well, most recently in

  • https://github.com/openrewrite/rewrite-maven-plugin/issues/544#issuecomment-1665569864

In short we're hesitant to add logging to the plugins, as it's hard to provide a uniform experience there. For large projects the OSS Maven and Gradle projects aren't a perfect fit either, as you'd have to be able to keep the full model in memory and it gets discarded after every recipe run. This in contrast to the Moderne CLI which serializes the model, and can handle large projects easily. Perhaps you'd care to evaluate that for your use cases there? Happy to discuss that on a call if needed.

timtebeek avatar Nov 25 '24 17:11 timtebeek

Also: perhaps you'd be interested to pass in -Drewrite.metricsUri=LOG or even a proper URI to get some metrics out of your recipe runs; that might help you to monitor what the run is doing.

Any time spent downloading should be visible from the debug logging already as well https://github.com/openrewrite/rewrite-maven-plugin/blob/955590b60226b2e3c27f6a0bdba4b2979a4cd140/src/main/java/org/openrewrite/maven/MavenLoggingResolutionEventListener.java#L34-L36

timtebeek avatar Nov 29 '24 21:11 timtebeek