woj-tek commented on PR #1498:
URL: https://github.com/apache/james-project/pull/1498#issuecomment-1480492339
I had some fun with `jq` to get some summary - total time (in minutes) and
number of executions of particular mojos, with:
```
[.projects[].mojos[]] |
group_by(.mojo) |
map({
mojo: first.mojo,
count: [.[].time] | length,
totals: [.[].time | sub(" ms"; "") | tonumber/1000/60] | add
}
) |
sort_by(.totals) | reverse
```
the result for
[profiler-report-2023-03-22-19-11-22.json](https://ci-builds.apache.org/job/james/job/ApacheJames/job/PR-1498/6/artifact/.profiler/profiler-report-2023-03-22-19-11-22.json)
is following:
```
$ jq '[.projects[].mojos[]] | group_by(.mojo) | map({ mojo:
first.mojo,count: [.[].time] | length, totals: [.[].time | sub(" ms"; "") |
tonumber/1000/60] | add } ) | sort_by(.totals) | reverse'
/Users/wojtek/dev/tmps/profiler-report-2023-03-22-19-11-22.json
[
{
"mojo": "pl.project13.maven:git-commit-id-plugin:4.9.10:revision
{execution: get-the-git-infos}",
"count": 779,
"totals": 9.122933333333318
},
{
"mojo": "net.alchim31.maven:scala-maven-plugin:4.6.1:compile {execution:
scala-compile-first}",
"count": 21,
"totals": 9.057266666666667
},
{
"mojo":
"org.apache.maven.plugins:maven-remote-resources-plugin:1.6.0:process
{execution: process-resource-bundles}",
"count": 259,
"totals": 6.400850000000002
},
{
"mojo": "net.alchim31.maven:scala-maven-plugin:4.6.1:testCompile
{execution: scala-test-compile}",
"count": 21,
"totals": 5.044933333333333
},
{
"mojo":
"org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile {execution:
default-testCompile}",
"count": 246,
"totals": 4.712283333333328
},
{
"mojo": "org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:check
{execution: check-style}",
"count": 259,
"totals": 4.661833333333332
},
{
"mojo": "org.apache.maven.plugins:maven-assembly-plugin:3.1.1:single
{execution: make-assembly}",
"count": 11,
"totals": 3.6231166666666663
},
{
"mojo": "org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
{execution: default-compile}",
"count": 246,
"totals": 2.4721500000000027
},
{
"mojo": "com.google.cloud.tools:jib-maven-plugin:3.2.1:buildTar
{execution: default}",
"count": 6,
"totals": 2.392116666666667
},
{
"mojo": "org.apache.maven.plugins:maven-assembly-plugin:3.1.1:single
{execution: default}",
"count": 6,
"totals": 1.5907999999999998
},
{
"mojo": "org.apache.maven.plugins:maven-jar-plugin:3.2.2:test-jar
{execution: build-test-jars}",
"count": 259,
"totals": 1.2979333333333347
},
{
"mojo": "org.apache.maven.plugins:maven-javadoc-plugin:3.1.1:jar
{execution: create-javadocs}",
"count": 2,
"totals": 1.29455
},
{
"mojo": "org.apache.maven.plugins:maven-source-plugin:3.1.0:test-jar
{execution: attach-sources}",
"count": 259,
"totals": 1.2465166666666672
},
{
"mojo": "org.apache.maven.plugins:maven-clean-plugin:3.1.0:clean
{execution: default-clean}",
"count": 269,
"totals": 1.219366666666675
},
{
"mojo": "org.apache.maven.plugins:maven-jar-plugin:3.2.2:jar {execution:
default-jar}",
"count": 237,
"totals": 1.1574999999999998
},
{
"mojo": "org.apache.maven.plugins:maven-source-plugin:3.1.0:jar
{execution: attach-sources}",
"count": 259,
"totals": 1.1063666666666685
},
{
"mojo": "org.apache.maven.plugins:maven-assembly-plugin:3.2.0:single
{execution: make-assembly}",
"count": 2,
"totals": 0.85205
},
{
"mojo": "org.apache.maven.plugins:maven-javadoc-plugin:3.1.1:javadoc
{execution: create-javadocs}",
"count": 2,
"totals": 0.8237333333333334
},
{
"mojo": "org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
{execution: default-resources}",
"count": 237,
"totals": 0.8219999999999985
},
{
"mojo": "org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce
{execution: enforce-maven-version}",
"count": 789,
"totals": 0.667283333333332
},
{
"mojo":
"org.apache.maven.plugins:maven-resources-plugin:3.2.0:testResources
{execution: default-testResources}",
"count": 237,
"totals": 0.6591833333333316
},
{
"mojo": "com.google.cloud.tools:jib-maven-plugin:2.7.1:buildTar
{execution: default}",
"count": 1,
"totals": 0.5494666666666668
},
{
"mojo": "org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test
{execution: default-test}",
"count": 237,
"totals": 0.5447833333333318
},
{
"mojo": "io.github.evis:scalafix-maven-plugin_2.13:0.1.6_0.9.34:scalafix
{execution: scala-check-style}",
"count": 6,
"totals": 0.48495000000000005
},
{
"mojo":
"org.apache.maven.plugins:maven-site-plugin:3.7.1:attach-descriptor {execution:
attach-descriptor}",
"count": 10,
"totals": 0.46373333333333333
},
{
"mojo":
"org.apache.maven.plugins:maven-site-plugin:3.8.2:attach-descriptor {execution:
attach-descriptor}",
"count": 259,
"totals": 0.4478166666666661
},
{
"mojo": "org.apache.maven.plugins:maven-install-plugin:2.5.2:install
{execution: default-install}",
"count": 269,
"totals": 0.4441666666666647
},
{
"mojo":
"com.googlecode.maven-download-plugin:download-maven-plugin:1.6.8:wget
{execution: install-glowroot}",
"count": 6,
"totals": 0.42071666666666674
},
{
"mojo": "org.apache.maven.plugins:maven-plugin-plugin:3.6.4:helpmojo
{execution: generated-helpmojo}",
"count": 3,
"totals": 0.3625333333333333
},
{
"mojo": "com.github.ekryd.sortpom:sortpom-maven-plugin:3.1.2:verify
{execution: strict-pom-ordering}",
"count": 779,
"totals": 0.3358833333333306
},
{
"mojo":
"org.apache.maven.plugins:maven-remote-resources-plugin:1.7.0:process
{execution: process-resource-bundles}",
"count": 10,
"totals": 0.31811666666666666
},
{
"mojo": "org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce
{execution: enforce-maven}",
"count": 779,
"totals": 0.22956666666666664
},
{
"mojo": "net.alchim31.maven:scala-maven-plugin:4.6.1:add-source
{execution: scala-compile-first}",
"count": 21,
"totals": 0.2054833333333333
},
{
"mojo": "com.github.ekryd.sortpom:sortpom-maven-plugin:3.1.2:sort
{execution: sort-reduced-pom}",
"count": 1,
"totals": 0.19024999999999997
},
{
"mojo":
"org.apache.maven.plugins:maven-resources-plugin:3.2.0:copy-resources
{execution: copy-glowroot-resources}",
"count": 6,
"totals": 0.1664333333333333
},
{
"mojo": "org.apache.openjpa:openjpa-maven-plugin:3.2.0:enhance
{execution: enhancer}",
"count": 2,
"totals": 0.15291666666666667
},
{
"mojo":
"org.apache.james:mailetdocs-maven-plugin:3.8.0-SNAPSHOT:mailetdocs {execution:
default}",
"count": 8,
"totals": 0.14173333333333332
},
{
"mojo":
"org.apache.maven.plugins:maven-dependency-plugin:3.3.0:copy-dependencies
{execution: copy-dependencies}",
"count": 7,
"totals": 0.09411666666666667
},
{
"mojo": "org.apache.rat:apache-rat-plugin:0.13:check {execution:
default}",
"count": 10,
"totals": 0.0856
},
{
"mojo": "org.apache.maven.plugins:maven-plugin-plugin:3.6.4:descriptor
{execution: default-descriptor}",
"count": 2,
"totals": 0.0806
},
{
"mojo": "org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar {execution:
default-jar}",
"count": 9,
"totals": 0.0644
},
{
"mojo":
"org.apache.maven.plugins:maven-remote-resources-plugin:1.6.0:process
{execution: default}",
"count": 10,
"totals": 0.06273333333333334
},
{
"mojo": "org.apache.maven.plugins:maven-shade-plugin:3.2.1:shade
{execution: default}",
"count": 1,
"totals": 0.05811666666666667
},
{
"mojo": "org.codehaus.mojo:appassembler-maven-plugin:2.1.0:assemble
{execution: make-appassemble}",
"count": 1,
"totals": 0.0528
},
{
"mojo": "org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test
{execution: default-test}",
"count": 9,
"totals": 0.037200000000000004
},
{
"mojo": "org.apache.felix:maven-bundle-plugin:3.3.0:manifest {execution:
bundle-manifest}",
"count": 1,
"totals": 0.025183333333333332
},
{
"mojo": "org.apache.maven.plugins:maven-antrun-plugin:1.8:run
{execution: default}",
"count": 1,
"totals": 0.023799999999999998
},
{
"mojo": "org.apache.maven.plugins:maven-resources-plugin:3.1.0:resources
{execution: default-resources}",
"count": 9,
"totals": 0.011349999999999999
},
{
"mojo":
"org.codehaus.mojo:appassembler-maven-plugin:2.1.0:generate-daemons {execution:
make-appassemble}",
"count": 1,
"totals": 0.007
},
{
"mojo":
"org.apache.maven.plugins:maven-resources-plugin:3.1.0:testResources
{execution: default-testResources}",
"count": 9,
"totals": 0.00115
},
{
"mojo": "org.scalatest:scalatest-maven-plugin:2.0.2:test {execution:
test}",
"count": 1,
"totals": 0.00095
},
{
"mojo": "org.apache.maven.plugins:maven-jar-plugin:3.2.2:test-jar
{execution: test-jar}",
"count": 6,
"totals": 0.0007666666666666666
},
{
"mojo": "org.apache.maven.plugins:maven-jar-plugin:3.2.2:test-jar
{execution: default}",
"count": 5,
"totals": 0.0006333333333333334
},
{
"mojo":
"org.apache.maven.plugins:maven-dependency-plugin:3.3.0:copy-dependencies
{execution: default}",
"count": 1,
"totals": 0.00015
},
{
"mojo":
"org.apache.maven.plugins:maven-plugin-plugin:3.6.4:addPluginArtifactMetadata
{execution: default-addPluginArtifactMetadata}",
"count": 2,
"totals": 6.666666666666667e-05
}
]
```
Another curiosity I noticed in
https://ci-builds.apache.org/job/james/job/ApacheJames/job/PR-1498/6/artifact/.profiler/profiler-report-2023-03-22-19-11-22.html
is the Artifact Downloading of 2413s so 40 minutes is dedicated to just
downloading the artifacts (?!). Not sure about maven versions and the
downloading itself, but recently maven got paralel downloads of dependencies
(https://issues.apache.org/jira/browse/MRESOLVER-7?focusedCommentId=17692969&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17692969)
and it's possible to futher improve resolution and download with additional
configuration (https://issues.apache.org/jira/browse/MRESOLVER-324) - possibly
worth considering as well (gives a nice speed improvement on my machine)?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]