Skip to content
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

Release 1.36 #234

Merged
merged 121 commits into from
Nov 30, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
49421b6
Add initial version of Shenandoah log parser
May 1, 2017
3e2fe3b
Fix unit conversions
May 2, 2017
43e370d
Minor optimizations
May 4, 2017
7146086
Add concurrent reset bitmap parsing
May 5, 2017
5723031
Remove statistics that are invalid due to concurrent evacuation
May 9, 2017
25e6d9f
Add unit tests
May 10, 2017
7c11dc9
Remove commented out code
May 10, 2017
df1d147
Change > in javadoc to > for travis
May 11, 2017
87fca91
[maven-release-plugin] prepare for next development iteration
chewiebug Jun 28, 2017
53db4b6
add sourceforge-release profile to release process
chewiebug Jun 28, 2017
12f8733
Adapt to changes in Shenandoah algorithm
Jul 1, 2017
a340357
Parse System.gc() events
Jul 3, 2017
9bc0874
Merge branch 'ophillan-shenandoah' into develop
chewiebug Jul 23, 2017
b69393c
add Mart Mägi to the list of developers
chewiebug Jul 23, 2017
f306f4c
Merge remote-tracking branch 'ophillan/develop' into develop
chewiebug Jul 23, 2017
850490c
refactor to use GCEvent + ConcurrentGCEvent instead of ShenandoahGCEvent
chewiebug Jul 26, 2017
cb6bef8
Add unit tests for refactoring
Aug 27, 2017
f0bc62b
Log a warning instead of stopping parsing in case of parse exception
Aug 27, 2017
9cb77be
Use Type.lookup() to determine the type of GC event
Aug 27, 2017
b9c4c19
Update DataReaderShenandoah javadoc
Aug 27, 2017
54c1a31
Remove BufferedReader, log failed line number at parse error, refacto…
Aug 30, 2017
5a68aa6
Add log file with DateTimeStamps
Aug 30, 2017
31f0add
Implement DataTimestamps decorator parsing
Aug 31, 2017
60d19ae
#190 make sure, InputStream is always closed after reading gc log file
chewiebug Sep 8, 2017
30873e0
Merge branch 'feature/enhance-shenandoah-datareader' into develop
chewiebug Sep 8, 2017
b6237f9
Bugfix/#192/fix rewriting unittest (#195)
chewiebug Dec 25, 2017
16a1a73
add maven-jdeps-plugin to prevent accidential usage of jdk internal apis
chewiebug Dec 25, 2017
433d977
#155 support unified jvm logging format with tag "gc" (level = info) …
chewiebug Dec 27, 2017
323892b
#155 refactor DataReaderUnifiedJvmLogging to prepare reading heap det…
chewiebug Jan 2, 2018
1f485f3
#155 support unified jvm logging format with tag "gc*" (level = trace…
chewiebug Feb 25, 2018
7334420
fix unittests on case sensitive file systems
chewiebug Feb 25, 2018
54d5042
update javadoc comments
chewiebug Feb 25, 2018
7ec56ac
Merge branch 'feature/#155/support-unified-jvm-logging-format' into d…
chewiebug Feb 25, 2018
23d0551
Add support for Go GC logging
rillig Feb 18, 2018
34726f6
improve unittests #196
chewiebug Mar 26, 2018
ec877d1
#194 improve detection of G1 gc logfiles
chewiebug May 8, 2018
6045303
test with multiple jdks
chewiebug May 8, 2018
f75537e
add .bettercodehub.yml
chewiebug May 30, 2018
a62a8af
#198 add support for -XX:+UseShenandoahGC in "non" unified jvm loggin…
chewiebug Jun 14, 2018
b363505
#199 add number of pauses + more memory information
chewiebug Jun 25, 2018
e8e26e9
Merge branch 'feature/#198/shenandoah-non-unified-logging-format' int…
chewiebug Jun 25, 2018
381e973
Add new type in AbstractGCEvent
Jul 16, 2018
49b70ae
add more jdk versions to build matrix
chewiebug Jul 24, 2018
a7ae4d2
#196 add Roland Illig to the list of contributors
chewiebug Jul 26, 2018
ebf5f8e
Merge branch 'pull/#196/golang' into develop
chewiebug Jul 26, 2018
7db04c2
add test for SummaryDataWriter
chewiebug Jul 26, 2018
06b2df7
Adds totalPermAllocMax, totalPermUsedMax, and
amcrn Jul 31, 2018
129829d
Add Promotion Avg & Total To Summary
amcrn Jul 31, 2018
109b2c8
Merge remote-tracking branch 'amcrn/enh/perm-summary' into develop
chewiebug Aug 1, 2018
1bab7ec
add amcrn to list of contributors
chewiebug Aug 1, 2018
2dbf9c1
Merge remote-tracking branch 'amcrn/enh/promotion-summary' into develop
chewiebug Aug 1, 2018
d7ec81b
#200 generalise handling of System.gc() events
chewiebug Aug 1, 2018
dc29a06
#200 add Krzystof Burek to list of contributors
chewiebug Aug 1, 2018
9918095
Merge branch 'develop-krzysztofburek' into develop
chewiebug Aug 1, 2018
c75a91b
improve error message on UnknownGcTypeExceptions
chewiebug Aug 1, 2018
672f24a
add unittest for ExtensionFileFilter
chewiebug Aug 1, 2018
255da16
small addition to readme
chewiebug Aug 1, 2018
e8eeb30
#198 add support for -XX:+UseShenandoahGC - XX:+PrintGCDetails
chewiebug Sep 6, 2018
d4580e0
update maven plugin versions
chewiebug Oct 23, 2018
986901f
update build configuration (jdk 11)
chewiebug Oct 23, 2018
99ceac8
update jacoco limits
chewiebug Oct 23, 2018
81dcfcf
Include GC Phases from ZGC for parsing
Marysunithajoseph Jan 13, 2019
dda185a
Corrected phase name
Marysunithajoseph Jan 14, 2019
9643bd8
Parsing Phases for ZGC
Marysunithajoseph Jan 15, 2019
84205d6
Removed unnecessary print outs
Marysunithajoseph Jan 15, 2019
1a05f67
Added test cases for default and memory matchers
yanqilee Jan 15, 2019
d7e2405
Added tests for gc all logging
yanqilee Jan 15, 2019
66e9c1b
fixed formatting
yanqilee Jan 15, 2019
75f83bb
Fixed a typo
yanqilee Jan 15, 2019
1256031
Seperating GC Causes and its memory info
Marysunithajoseph Jan 16, 2019
238050f
Merge branch 'feature/fullstackZGCintegration' of https://github.com/…
yanqilee Jan 18, 2019
9b7aad5
Gc causes no longer show total sum percentage
yanqilee Jan 21, 2019
8b00e90
Fixed up gc causes model
yanqilee Jan 21, 2019
b3fc7f6
Fixed some formatting
yanqilee Jan 21, 2019
5a9b562
Fixed up comment for build
yanqilee Jan 21, 2019
1f681bd
Fixed maven javadoc plugin failing on jdk 11.0.2
yanqilee Jan 21, 2019
1fdb0a0
initial code refactor
yanqilee Jan 22, 2019
52b4111
refactored addGcEvent
yanqilee Jan 22, 2019
ba10ced
Remove unused imports
yanqilee Jan 22, 2019
03284fc
Fixed Codacy issues
yanqilee Jan 22, 2019
70598e9
No longer alter event parameter in method
yanqilee Jan 22, 2019
2576e5d
Added missed null check on isParseablePhaseEvent
yanqilee Jan 23, 2019
18d4275
Refactored tests and updated method params
yanqilee Jan 23, 2019
8925464
update method naming
yanqilee Jan 23, 2019
d29aa3c
Added percentage assertions to test cases
yanqilee Jan 23, 2019
dfb87bd
reduce compenent_depth to 8
chewiebug Feb 3, 2019
946a47b
fix build on jdk11
chewiebug Feb 24, 2019
2cb14fb
Removed ZGC phase parsing rule and commented out warning assertion
yanqilee Mar 1, 2019
75c7f6e
Fixed parentheses variable names
yanqilee Mar 1, 2019
e8ea44e
Removed memory capture and added phases start exclusion
yanqilee Mar 1, 2019
ad1ca4b
Fixed comments and code style
yanqilee Mar 1, 2019
0eb52d4
Added notion of phases in AbstractGcEvent
yanqilee Mar 1, 2019
53355b4
Changed test names to be more general
yanqilee Mar 1, 2019
3ecd294
Added phases to parser, model and UI
yanqilee Mar 4, 2019
ac4f08b
Minor changes for styles, etc
yanqilee Mar 4, 2019
907a3be
Single line import on TestGCEventUJL
yanqilee Mar 4, 2019
4793b3d
Made GCEventUJL private in test class
yanqilee Mar 4, 2019
f893bbd
#216 also support parsing of phases for Serial, Parallel, CMS, G1 and…
chewiebug Jun 10, 2019
c90fd11
Merge branch 'pull/216/add-support-for-zgc-logging' into develop
chewiebug Jun 10, 2019
559eeb8
#216 add Yanqi Li to the list of contributors
chewiebug Jun 10, 2019
910e734
update copyright year
chewiebug Jun 10, 2019
6a76d89
add Mary Sunitha Joseph to the list of contributors
chewiebug Jun 11, 2019
117e8b9
#204 add new "Pause Young (G1 Evacuation Pause)" event
chewiebug Oct 22, 2018
51801bd
#204 support new phases for G1 in JDK11
chewiebug Jun 11, 2019
1fc85c3
Merge branch 'feature/#204/improve-parser-for-openjdk11' into develop
chewiebug Jun 11, 2019
e708cef
#204 improve gc event detection for G1 event names containing ()
chewiebug Jun 15, 2019
bc21c8f
update travis configuration concerning build jdks
chewiebug Sep 14, 2019
bb91a87
When a chart is exported as a PNG file, instead of applying the selec…
Sep 9, 2019
236c90b
add Sandro Rossi to list of contributors
chewiebug Sep 14, 2019
695f8f4
Merge pull request #229 from chewiebug/feature/#129/fix-png-export-to…
chewiebug Sep 14, 2019
4aa0231
Support uptime timestamps reported in milliseconds.
Sep 11, 2019
a79a099
Add support for G1 Archive regions.
Sep 12, 2019
85f1446
Add test for millisecond timestamp.
Sep 12, 2019
bcf6584
#228 small refactoring of uptimeunit detection
chewiebug Sep 17, 2019
1e4120d
add Dennis Lawler to list of contributors
chewiebug Sep 17, 2019
eb89b1f
Merge pull request #231 from chewiebug/feature/#228/support-uptimemillis
chewiebug Sep 17, 2019
ee15cd3
ignore output of -XX:+PrintStringDeduplicationStatistics for G1 (jdk8)
chewiebug Sep 21, 2019
5c88ab5
improve detection of jdk8 G1 logs
chewiebug Sep 21, 2019
327a64e
#198 update parsing of Shenandoah algorithm (jdk8u232, jdk11.0.4)
chewiebug Oct 11, 2019
27cef98
#198 improve rendering for Shenandoah algorithm (only concurrent even…
chewiebug Oct 11, 2019
7b35266
fully automate maven release process
chewiebug Nov 23, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .bettercodehub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
component_depth: 8
languages:
- java
19 changes: 14 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@ language: java
sudo: false

jdk:
- oraclejdk8
- oraclejdk11
- oraclejdk12
- oraclejdk13
- openjdk8
- openjdk11
- openjdk12
- openjdk13

# enable cache to stop downloading all maven plugins every time
cache:
Expand All @@ -14,11 +20,10 @@ cache:

# do some preparations before the install phase
before_install:
- "git clone -b travis `git config --get remote.origin.url` target/travis"
- pip install --user codecov

# No need to run mvn install, so skip this step
install: true
install: skip

# emulate a display for the gui tests
before_script:
Expand All @@ -27,18 +32,22 @@ before_script:

# run branch dependent build using a separate script
# make sure, script is executable (http://blog.lesc.se/2011/11/how-to-change-file-premissions-in-git.html)
script: "./target/travis/gcviewer-script.sh"
script: "./cicd/gcviewer-script.sh"

after_success:
- codecov

# for configuration of maven deploy see http://knowm.org/configure-travis-ci-to-deploy-snapshots/
env:
global:
- GPG_DIR="`pwd`/cicd/gpg"
- secure: arRS4YHFdZWyl7KmduSdzOF1JGm1qOWDLp1fwtzCkGUx58G3RrhhBIynK3TuSnnUTYsmS+DyxR/R+v3QhaEjschR4Aeolq9StJGvUBssTS+oCqcLe3qLiHyy9YClCb8xSPebYNgrxEox0MuEGG73TFRUrGLHxesBo9OfLgIiGpV+kez2cBD+iFWEfNA9oeO3x3fa7Ry/YBrRfUkA5gKR41Bw/oOf+5T0HAKMpfMMmCneu7EtA3z7cWHhEEBwydwUI+szS3ozsbyUcleLwTlwabLXEB3rF3c/rU2Zy/1CLfWzJwCmy47HfclTalj/ckNxh5pK9aQwVqFM3B8ECPBUOksYm28oREgcRFbLqrtRnrKMM5tvqHXsb3r7VyJkNzFenV8e3WES8kCL7z5yuCstac395AlLRBCWTEWbHiiKTIYfx4awY5lK2CxptCf+8mzzkfltQp6HOViLw+X9c/G4MNTUWlDeMnw3JB81Rm5qaKv4gNjq9G0cPS9rzRN6SwksIEZ2i2JmVzCOoU7tWgH6ahcBDU3jJI3bwODzkzND5j0y9jKtooYEKPAH2v5b/uB/6KIlCLa/jZQcCzuTrOlKT6/Zcxl4aDUonuJ8vUDl3gMj72iqZpNosqOWIL0YVy8wlmxCaai3MK2H1647Mw5DXWzIciSN/TLwCjF3344fxHc=
- secure: L2mbuVWefCqtdy9qNcVtxW5nI2/kLY6vTXasQ19mevfxCHcyN23d8zDvCU0lRT9k9k9znXrF3JppzLwW2wkZo72XADQj+hfCSCB8axu1NQPPi3IMkFe4/c/mEXRVHYvukEjTX10BmZUfjL2H2XRiLM2eOunbRxyE6DfmIz6HuW5LS3iNi9BZQce6iHm/jG0Li+SxCgqetwZ3/Gowl1vo5vfg+xVnqTalYuSfvlJAAKfZdkw47/5T0np7ooD4W0TfFohFpq2DlVK1m27qSc0tDe9CT7YkAXid7giVfe+RC5rEoJhKf87wuKC/hitUS+OJb6hJg3IVGhsiA44w57eK6g7Gm+nDrJzId8XOYugy7VaIaVMJjoqWG8AnhbFzh2/ioWq4jI7xmjzBnKSak+DpxPvEs26WEE12m3nJVQvFpvoTTusnJuS2zUYk6ZSupdv8rw3fsIKHYepNyiCHau0WGgs1kqApA6bY3V42FFakC57x5dL5RNi54MBOzS9JBoQ6BsUewtarIdxsKUawA9TKC2M1IRI2poS0Zex9BslV08KBfzSvSI1h06kRaR6S35CwqlWnVcC+ZK4l3vOtpPYOGAo8F8OLONcUYuGMMQH+Eycvnd7yyLSbDEaEkNEBYL1uBSw6ZbRQzlFIS8v2t6BDed37WWLDD+TGnODcVJ7lhG8=
- secure: UunPp8yEYLSgQez5CUk9qdi1QQGidDQlojrScsKtz/ixhm+dv1aqu+SeqVEVFjRvCeqghB+TGufw1mxkjNwsOL+hZDmsnfex+ZR6c1swk19BarlhKVc6+lAJ/2KsOaXjdAnS5w0Xyhqp+BMJxjYfhLaaSZj1+AUiXsG4dhRzl8jylx5caJu3jG3DN0wYVM54wHpx3Vz0Rx8oDLpr6Clh8dctvxJz88cT3OH2zDiMOfSMbrfOE4ENbRDCrX/ktQl2w6L8VBu29srIUqv862Pia9F6mjsZNuWJZu/yidnX/q+ctQawT0BQJJ1U9BhWKEKhOeS5AwSiBISxtvXU4gChSqOSrSe87Zt00ndlL+LkanSbehvGEaoRmi1AKxTh/jPvkiiiYj/yH3Rh+gLvkIxDQk0tvMvT42X1GblRS4aPAxGwYb/1Sx/3VThOpGSNRyH5xC8Ccr7AmOjcZUTUm0ZV45XX2QUiAlTJvrsbW1yvWyCdsYh36fxWgLdaokhbb4APkwDQTnQZ3zMyNSMqb4v/3gTWmZmMDtXrQ6/YHdufhuDJeCt3ibFdd5BX6GFS3zQ+GKPE4lHtexR8BnFA1hLfH0jIDnAduA5mgX4w6G/dSw7Bf7HGROwB2jBSRAVgruF3kTT3M9S+0rOgceuZTTeUvfl/KLAFeS5j2mO5qmdOPQE=
- secure: hfbgSnGViHzpZBIUehTm0na8CPBGXTASeOwgxzH2fiJuTQtp/hGO3bNo5zhPW+wMWj5or5EgmcTbRVQUu6zfOmaECi1Vf1Ul42qimlR8NLCBLSoPIcBgO2re/jQFZNUe6NTAoZsVAtMaBplmeOydrjFFb1NqufbSqVX2H7IrjwIFjc/E7vG+pgjBaPh6SMWrhZHUK+aID9Ssssr9KZc2lzq1rqSC1U2M/SQf9EbVEAxkyuR77aZhnkjZlUo97gmVBscStso4bUEgU54gYL0NiSiOrRhH+8N/mb/AJMyn/KGgyNJMai0wMn4WW381iVf4huG95C/RcQOYG/OEGBuR7N1yQEVhtV3SAJPBWXp3fQcL6CnWkn4N2Tc66sjbhAD06p5fSY2YWd5uGCzG9qvw3GABcHLx5q1rpBiwgHKHF+79subsYkhhUhXHSikh8ySeniXcS1LWVpUBe6Y2hDBGh2g3zru/Rkdvv7lHZgu6BNyb1tETCCU5TvpHJVd7YxoR7cGEWHQQcycmpVL6OYwhXG52nv/r2fPBICDfyzhPDyY6uei0p3/p0t3Qgby65phmaTPbqDM5FPy43iRp4zCJ5hKgmHlhXeGS7y2AavTSMk6Da4jz7bLZkIXM90MWcIh4saXU61cJKkPz2cuzovU07WaFwCo9rapbzfbuSSfrYvQ=

- secure: "o8U8fTK6YwArlxxlpAPhPh2GV+Dl63R9K/Oq3jN4mjrrS+jvf905EqeQSEquC1uZ/ZwbD34kaFj/a50qX23axZFf09Sy9kPFNHgSNPXURZtshCNn2IimsU3eCKb6lM1MyKRa5Ue81sZVT+3Q673q9ndorHbjINb/iCg7wzx+DBNeuG5R8DXFM8ddxf19fKKkQSbzwa64lgZ8gH19TWShg2pYgLCxJxfYrt2acIJEshYyCbJxGrMVdkPztCaXqePV17saNUkbuYcVdAe3KkK/GsPe52FucbiVed705CDIJ3ODpWrx4Nsj9uFg9wuiCWWjBYIwpT+svV1lmvT9X5ViSMnazV+sNY1vpq5zDItU/lg9RsiVGVns4EEYAoJ4J4ky7KB6CC/9Nx7+oWoCNDfC80i61eEXNqg+TuKeBYKmOs/l5GnAyE7voxXUoyqBak7yu97Wp9iTRg6AoXSWiMeWnYBS5yRS/8gAaPUvfvp42ahZkiRli3R18E3s9LG1x/LowZhhGDDHum3QklJzPJlMm8BWSBJkhOgLApNWELZAtwS5yiEw4QIEQyZNEaoH9ENnpAfJIsPv1dX4nBHUlD8AhERGyUWHY95bL8GPzboBhM08pQdH+caYDRx3Fj3jICkuwYHz7RpDPAdpLMHCYoMQCjxhUy0br9GRRW0/he1Tdbw="
- secure: "bUq1LIA4FurrzaYPYg3RRKg5aaENIQTOFVCQEH+J81N4h+3O86l8pDM8RVv84M1TvsTpitUD1Agdg6qOK4IG61AVFGh6XHOMc3i/o2X0z03LCjW+J2k0ETPA1DwundgfdBitzEGedO6XQvlhVlVDg7QVEHeA3FxWPWy4+fvGEqDNEHCYPr4Q2Q/59hEXDtMIMvsHA8VOCMTuA+NRY8SkyyewXWSarNrlM+wyhIO8RcZxOEsHPKI+tIWyYInMd5mv2RZX6cs+Ia37c4ajpNXPViAe7oQHI99aFUWsUEfSydqMfVY/iDWig4bs5i/k7mln13RALyqsBFkNB+dSi36FJV2CgqnY9+YjNo4FRarXDlLwaGGPsVCgjN1xxeD+MOSqJaCM2aNiNPgB5KsGDLDTLQbcGJr4frjtGG0x1mTBD+n3GyxYcum6dWlUNGJ7IN1rShQFC+e//oHAEDNmNGkKzVVbBLJZTyirm5GJYpUq4vWDmFJsEb2CK1C2W4qVX/NSmixD2/S0x2+osWgPitkIlyKQwOjSFag6hEpqQNwuNv7HCO2JtCjfg25Ur4itZkon5oICRgznhfWuDGf9UbBc+SI3vPGlhkjH3oUqa4RCn/W5BVeug/xrfRB6AJ9k1mg8g1xCvECG2ZA9epA40PDdDqcsS6WyYcEPPvnk2wpqZY0="
- secure: "lUTaoCHgQk0xYpEtRFPJXn1Eduf5WVCyAa6/cWECGcYfrhW3kYXDHKtHwhUwi/HPGyLg0ZFi1DBaiv7QareW/D1GwlPV+UTgmc1TY02XwLz7kFPb4A9896nCVOwR5xMuTL7TFzuB8/5bFGf6GGvrGnlGKWZCIOw3d8OLaiUib+BzezMsMJjouJwUiPpg9LzdhRORK4aj+uwCD+27o3i1u2yXiv4ljY/j4rMFdNAYWup5m2QPESGXJR4aTuf2uFYUEAURkUcOhtH9Uq6XQqUbW1IJqD9UVbtLGo6qCN813UXlt17DoqkPWjvsRiC7JBLFqZpT9+wrGcfSuF4HZJJOZrWxfnD/uzL4M485eUwePKCaA1M5EfYu+wpmcz5z00O59PJISAEMrmIvJTj0T87tOdKzI/TzO1ifAUMjs2z0fJOTD4O83PvQ56oppc9fsNo2jkO74DDauoSFXNo9IRHqj/ZBoklGxSA8MWjqu5mFxwEqFVca5IfUXgqI0fiBDqU81lHqsxEKiMO0C4LYD6w3yVtm3clCyMAvYIpU1owPUnA5F3V7JkhlUh8RPOViZ3xIgCZTU4lfA+jTjvC0L4nP2/xKIQMlJlUokDjqn7S2rD6Ujb0kxcxhj9d5s1dlLrJJfaqJKeE+S0yfiG8CHEEwmOlq5yEzHdt5XuKcgR5lMgY="
- secure: "fSbp+LPptgRnMq2symJ9p+ViCevCWjuj7t38tNJrU+shlEj803Ax5G6vfCqOrOZvHS6cksLre82C1P0XyuEytN8aXJWYy0tjvKGPyXzvT+8o1xOuer9esqDtue8tZ7VlTcugPphJJtVdASPyN+8jI/mBZEp5+GPQUZIeTsAII5GzuWNJURgTbDUKZNQTPpsn+QP0cGl53waBXrA76bBFfPZxI42PEiMzaKljMuEUl9fm9KoZvVpUiDO9/N4K+8/dYGD+AMa0ny+P/gL+HS9r6nLiylF842pHzLjptin4w+8JwCyzvD7Jz+lcrwuc/XdL025V4qtPFKkaN6OvC9dcjtwkf7CVToayyLI2vR1hMLkJu/bgniMS7Wg0jHzD81zYdtbuksG98qUOO7nDp7U/BZvvHhOFVW7fXYcigwknLlW+b0z3bfKbWOfl/Hlt00UNR2nxGLb4sotQJWGfS4jdltN9FXmTMcrKSKgLYWb0hBY06Rk6Dbli2I/We3295kklVtusebpyX3peQzRT4aws6kmXlWdaHEDus5jfTgvVMm+5u7mB2UhO0kXUnFvkytgj8PROubiAMzfmFDGzE+4+aW4ihWA5OimrEyUZk4LWpQ6IV/l80yFNj2Q1EXTXBzaRpOk4xoQ4l0ZTLa6aPWDWgalnnMjZceTkdOJBf8rHOfo="
# don't configure any notifications and use defaults from travis
# see http://docs.travis-ci.com/user/notifications/ (notifications for broken builds and when status changes)
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GCViewer helps you to analyse java garbage collection log files.

Copyright (c) 2002-2008 tagtraum industries incorporated.
Copyright (c) 2011-2017 Joerg Wuethrich and contributors
Copyright (c) 2011-2019 Joerg Wuethrich and contributors

LGPL
====
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GCViewer 1.35
GCViewer 1.36
=============

[![Build Status](https://travis-ci.org/chewiebug/GCViewer.svg?branch=develop)](https://travis-ci.org/chewiebug/GCViewer)
Expand All @@ -19,6 +19,11 @@ When logfile rotation (-XX:+UseGCLogFileRotation) is enabled, the logfiles can b

Supported verbose:gc formats are:

- some support for OpenJDK 9 / 10 unified logging format -Xlog:gc:<file>, the following configurations will work
- -Xlog:gc:file="path-to-file" (uses defaults)
- -Xlog:gc=info:file="path-to-file":tags,uptime,level (minimum configuration needed)
- -Xlog:gc*=trace:file="path-to-file":tags,time,uptime,level
(maximum configuration supported, additional tags ok, but ignored; additional decorations will break parsing)
- Oracle JDK 1.8 -Xloggc:<file> [-XX:+PrintGCDetails] [-XX:+PrintGCDateStamps]
- Sun / Oracle JDK 1.7 with option -Xloggc:<file> [-XX:+PrintGCDetails] [-XX:+PrintGCDateStamps]
- Sun / Oracle JDK 1.6 with option -Xloggc:<file> [-XX:+PrintGCDetails] [-XX:+PrintGCDateStamps]
Expand All @@ -29,7 +34,7 @@ Supported verbose:gc formats are:
- HP-UX JDK 1.2/1.3/1.4.x with the option -Xverbosegc
- BEA JRockit 1.4.2/1.5/1.6 with the option -verbose:memory [-Xverbose:gcpause,gcreport] [-Xverbosetimestamp]

Best results are achieved with: -Xloggc:<file> -XX:+PrintGCDetails -XX:+PrintGCDateStamps.
Best results for non unified gc logging Oracle JDKs are achieved with: -Xloggc:<file> -XX:+PrintGCDetails -XX:+PrintGCDateStamps.
A few other options are supported, but most of the information generated is ignored by GCViewer
(the javadoc introduction of
https://github.com/chewiebug/GCViewer/blob/master/src/main/java/com/tagtraum/perf/gcviewer/imp/DataReaderSun1_6_0.java
Expand Down
5 changes: 5 additions & 0 deletions cicd/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM ruby:latest

RUN gem install travis

CMD /bin/bash
42 changes: 42 additions & 0 deletions cicd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# cicd
This directory contains a settings.xml + script file that can be used to
deploy to the SonaType OSS repository from a Travis CI build.

The full instructions are here:
http://knowm.org/configure-travis-ci-to-deploy-snapshots/

# gpg
## documentation
- https://stackoverflow.com/questions/38276762/travis-gpg-signing-failed-secret-key-not-available
- https://github.com/making/travis-ci-maven-deploy-skelton
- https://www.gnupg.org/gph/en/manual.html

expiration date of current keys: 2021-11-28

## issues with outdated openssl version in travis-ci (30.11.2019)
-> docker ruby image (ruby 2.6.5p114) uses openssl 1.1.1d; travis-ci uses openssl 1.0.2g
-> preferred command would be "openssl enc -e -v -iter 3 -aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in ./xxx.gpg -out xxx.gpg.enc"
two issues:
- "-iter 3" is not known -> drop option
- key derivation mechanism was changed between openssl 1.1.x and 1.0.x
-- https://stackoverflow.com/questions/39637388/encryption-decryption-doesnt-work-well-between-two-different-openssl-versions/39641378#39641378
-- -> use -md sha1 to enable decryption by openssl 1.0.x

## steps to create / renew pubring.gpg.enc + secring.gpg.enc
### run docker image
- docker run --rm -it --mount type=bind,src=D:\Users\joerg2\Daten\java\git\GCViewer\cicd\gpg,dst=/usr/gpg ruby/travis /bin/bash
- cd /usr/gpg

### create private + public key
- gpg --generate-key
-- [email protected]
-- gpg zert für maven signierung
- gpg --output pubring.gpg --export [email protected]
- gpg --armor --export [email protected] > pubring.gpg.txt
-- upload to public key server (http://keyserver.ubuntu.com:11371)
- gpg --export-secret-keys > secring.gpg

### encrypt keys
- export ENCRYPTION_PASSWORD=<encryption password>
- openssl enc -e -v -aes-256-cbc -md sha1 -pass pass:$ENCRYPTION_PASSWORD -in ./pubring.gpg -out ./pubring.gpg.enc
- openssl enc -e -v -aes-256-cbc -md sha1 -pass pass:$ENCRYPTION_PASSWORD -in ./secring.gpg -out ./secring.gpg.enc
92 changes: 92 additions & 0 deletions cicd/gcviewer-script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/bin/bash
# -e: exit on any non-true return value
# -u: exit, if an unset variable is being used
# https://ss64.com/bash/set.html
set -eu

echo "TRAVIS_PULL_REQUEST = ${TRAVIS_PULL_REQUEST}"
echo "TRAVIS_BRANCH = ${TRAVIS_BRANCH}"
echo "TRAVIS_JDK_VERSION = ${TRAVIS_JDK_VERSION}"

#####################
# functions
#####################
function perform_snapshot_release() {
echo "----------------"
echo build and deploy to sourceforge \(SNAPSHOT only\)
echo "----------------"
mvn clean deploy javadoc:javadoc -P sourceforge-release --settings ./cicd/settings.xml
}

function init_github() {
git config --global user.email "[email protected]"
git config --global user.name "Travis CI"
git remote add origin-github https://${GH_TOKEN}@github.com/chewiebug/gcviewer.git > /dev/null 2>&1
}

function push_to_github() {
# https://gist.github.com/willprice/e07efd73fb7f13f917ea
echo "pushing $1 to github"
git status
git push --quiet --set-upstream origin-github $1
}

function merge_with_develop_branch() {
# assumption: we are not on the develop branch and should merge TRAVIS_BRANCH into develop
echo "merging ${TRAVIS_BRANCH} into develop"
# since travis did a shallow clone (git clone --depth=50 ...), we need to fetch the develop branch first
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch --depth=10
git checkout -t -b develop origin/develop
git merge ${TRAVIS_BRANCH}
}

function perform_release() {
echo "----------------"
echo perform release
echo "----------------"
# maven release needs a locally checked out branch, otherwise "git symbolic-ref HEAD" will fail
git checkout ${TRAVIS_BRANCH}
openssl version
openssl enc -d -aes-256-cbc -md sha1 -pass pass:$ENCRYPTION_PASSWORD -in $GPG_DIR/pubring.gpg.enc -out $GPG_DIR/pubring.gpg
openssl enc -d -aes-256-cbc -md sha1 -pass pass:$ENCRYPTION_PASSWORD -in $GPG_DIR/secring.gpg.enc -out $GPG_DIR/secring.gpg
mvn --batch-mode release:clean release:prepare release:perform --settings ./cicd/settings.xml
# remove decrypted keyrings
rm $GPG_DIR/*.gpg
init_github
push_to_github ${TRAVIS_BRANCH}
# push tag, which was just generated by maven-release-plugin
git push origin-github $(git describe --tags --abbrev=0)
merge_with_develop_branch
push_to_github develop
}

function perform_verify() {
echo "----------------"
echo only verify
echo "----------------"
mvn clean verify javadoc:javadoc
}

#####################
# script
#####################
# Since the same script is run several times with different jdks by the build process,
# only under certain conditions, a (snapshot) release should be built.
# Among others, a build loop must be prevented after a "perform_release" build was executed.
# All other cases (like pull requests) only perform a "verify"
if [ "${TRAVIS_PULL_REQUEST}" = "false" ] && [[ ! "${TRAVIS_COMMIT_MESSAGE}" = \[maven-release-plugin\]* ]] && [ "${TRAVIS_JDK_VERSION}" = "openjdk8" ]
then
if [ "${TRAVIS_BRANCH}" = "develop" ]
then
perform_snapshot_release
elif [[ "${TRAVIS_BRANCH}" = "master" ]]
then
perform_release
else
# will be done for all other branches pushed into this repository
perform_verify
fi
else
perform_verify
fi
Binary file added cicd/gpg/pubring.gpg.enc
Binary file not shown.
Binary file added cicd/gpg/secring.gpg.enc
Binary file not shown.
1 change: 1 addition & 0 deletions cicd/run-docker.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docker run --rm -it --mount type=bind,src=%cd%\gpg,dst=/usr/gpg ruby/travis /bin/bash
11 changes: 11 additions & 0 deletions cicd/settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
>

<servers>
<server>
<id>ossrh</id>
<username>${env.CI_DEPLOY_USERNAME}</username>
<password>${env.CI_DEPLOY_PASSWORD}</password>
</server>
</servers>
</settings>
Loading