jbellis / jamm

Java Agent for Memory Measurements
Apache License 2.0
684 stars 125 forks source link

Release Version 0.4.0 and make it available through Maven Central #44

Closed GenghisChen closed 1 year ago

GenghisChen commented 4 years ago
com.github.jbellis jamm 0.4.0
hjizettle commented 4 years ago

It would be great if the newer version could be published as well.

finrod2002 commented 3 years ago

Where can we get the latest release? There doesn't seem to be a Git tag, nor it is available on maven central.

piotr-yuxuan commented 3 years ago

Whilst the latest release is not published here, you can use this custom repo: https://github.com/piotr-yuxuan/jamm/packages/415322

gostajonasson commented 3 years ago

@snazy and @jbellis Thanks for your great work with Jamm and the improvements of v0.4.0! Any idea why 0.4.0 isn't available in Maven Central? Would be great if it was.

marceloverdijk commented 3 years ago

I'm also looking for this and wonder whether 0.4.0 was released or not?

stephenc commented 3 years ago

The change from maven to gradle seems to have lost the publishing route.

Personally I think there is no need to use gradle for microbenchmarking as this could have easily been handled using the failsafe plugin to run benchmarks during the verify phase (when the built artifact would be available) but the PR author seems to only have been able to envision a multimodule based solution

stephenc commented 3 years ago

Here's an example of how the same effect can be delivered using maven and not using multimodule: https://github.com/stephenc/jamm/tree/without-gradle

stephankoelle commented 3 years ago

I have published version 0.4.0 to maven central

<groupId>io.github.stephankoelle</groupId>
<artifactId>jamm</artifactId>
<packaging>jar</packaging>
<version>0.4.1</version>

I plan to maintain it there

sfc-gh-japatel commented 2 years ago

Any updates here?

blerer commented 2 years ago

Sorry, for not responding for so long. We have been dropping the ball for some time. Our current plan is to revisit the latest changes that have been done and make sure that JAMM is ready for Java 17 before we do a new release.

blerer commented 1 year ago

We have pushed to master all the changes needed to cover the Java evolution up to Java 17. Unfortunately, we had to revert some changes and break some API compatibilities (see new README file). @ekaterinadimitrova2 has been running some serious testing of this version with Java 8, 11 and 17 as well as different combination of JVM arguments. We will add the testing scripts to the project soon so it is easy for everybody to run those tests. Our plan is to now try this new version in the Apache Cassandra CI to get more feedback (Cassandra is a heavy user of Jamm). Once it looks okay we will tag the version and make a release.

@stephenc we rolled back to Maven and we might need you for publishing the new release artifact.

piotr-yuxuan commented 1 year ago

Sounds good! Would you recommend it be used always on in production, or is it safer to only have it on for development?

blerer commented 1 year ago

Sorry, I do not understand what "it" means in "have it on".

piotr-yuxuan commented 1 year ago

Sorry for the delay of my follow-up, and thanks for your response 👋. I acknowledge that the it of this issue title refers to a package, and in my message I was referring to the library contained in this package. Shall I rephrase my previous question this way?

I am very pleased to see that development has resumed of this library jamm and that numerous improvements have been made to MemoryMeter. Would you sanction / recommend to have a singleton of MemoryMeter instanciated on production systems for various measurement live, at production use time? Some team mate advised caution and told me stories about such mesurements sometimes crashing production instances.

For example: I was thinking about measuring the size of cache and dynamically adapting the strategy based on the cache memory footprint / available memory.

blerer commented 1 year ago

Apache Cassandra nodes run with 2 instances of MemoryMeter and I have not been aware of any crash related to that. We need the latest Jamm version to have the same level of stability. If you aware of a specific scenario that could cause problem be sure that we will fix it in emergency.

MikaelSmith commented 1 year ago

Any way you could publish a release candidate? Looking at doing my own testing with this and a published version would make it easier.

blerer commented 1 year ago

We are not fully ready yet to release a version. We should be there in a couple of weeks. To be fully transparent, Cassandra 5.0 need this new version of Jamm and I am focusing on this integration at this point. Hopefully the outcome should be some improvements that allow users to have more control on Jamm performance and some extra testing. The Cassandra freeze date is in 3 weeks so we are anyway limited in time.

blerer commented 1 year ago

Jamm 0.4.0 has been released and is available on Maven central.