Skip to content

Releases: zolyfarkas/spf4j

Release 8.10.0

22 Feb 18:07
Compare
Choose a tag to compare

This is mostly a dependency upgrade release.
Most significant upgrade is the Slf4j 2.x upgrade which required quite a few changes.
Spf4j always allowed for the equivalent of KeyValuePair payloads to be logged. (by simply passing LogAttribute's after the message format arguments). With slf4j 2.0 there is direct api support this, which should improve the reach of this pattern.
Other than that, this release contains some minor improvements.

Release 8.9.8

02 Oct 23:52
Compare
Choose a tag to compare

Dependency updates.

Release 8.9.5

13 Feb 15:14
Compare
Choose a tag to compare

This release includes:

  • Changed to the test log format. Instead of logging DEBUG inly the first character will be emitted: D and son on. This makes the tes log even more compact without loss of readability. The format will also be changed in the next version to be closer to GLOG format.
  • Added stack sample diff and intersect operations to allow to compare stack samples. The UI has been updated to support comparing stack samples. This way you may be able to compare profiles between 2 versions of a code. It is challenging to get reliable insights out of a comparison, use with care.
  • Several dependencies have been updated and code has been cleaned up in places.

Release 8.9.4

24 Nov 19:42
Compare
Choose a tag to compare

This release improves the included SLF4JBridgeHandler which allows you to bridge java.util.logging to SLF4J logging.
The changes will transform a java.text.MessageFormat into the equivalent SLF4J format, resulting in format + parameters to reach the Slf4j backends even if logging was made with java.util.Logging. This is important if you choose like I do to persist logs into a binary file, and choose not to store the interpolated string and instead store the format string and the parameters. (and interpolate at display time instead). There are a lot of advantages to this, like improved data analysis capabilities (like group by message format, or group by one of the arguments in the message format without the need to parse a formatted message). Another advantage is that you don't pay the message interpolation cost in your system, and you only pay it for the messages you choose to look at... which is 0.00001 of the messages in your log. (This is demonstrated in https://github.com/zolyfarkas/jaxrs-spf4j-demo)

Starting with this release, sp4j-slf4j-test will dump details on non-daemon threads that are still running at the end of your test process. This will help you find out what threads are not terminated in your shutdown handlers.

This release also updates several dependencies.

Release 8.9.3

24 Nov 19:31
Compare
Choose a tag to compare

Add new file format (ssp.avro) to stack sampling profiler. This new format is a standard avro data file with the schema.

This version also contains a maven compatibility fix for spf4j-maven-avro-schema-plugin. (will work with latest version of the maven plugin)

This version also contains dependency updates.

Release 8.9.2

15 Oct 20:43
Compare
Choose a tag to compare

Improved compatibility with official avro releases.
spotbugs has been upgraded, and new issues addressed.

Release 8.9.1

07 Sep 11:38
Compare
Choose a tag to compare

Dependency updates.
Serializable retry policies. see
Configuration utilities in org.spf4j.avro.Configs
javax script interface for zel.
optimizations and bug fixes.

Release 8.8.5

13 Sep 10:46
Compare
Choose a tag to compare

Added junit 5 support for the spf4j test logger backend.
Added JmhDetailedJFRProfiler (jdk 11+ only) to support collecting profiling data for your JMH benchmarks at a more granular level (warmup, iterations, ...)
Metric names are now "ID-fied" so that their names are identifiers in java and similar languages. Their original name is maintained as a schema attribute.
Code cleanup + enhancements.

Release 8.8.3

08 Jun 12:08
Compare
Choose a tag to compare

Notable changes since last recommended release:

  1. Avro schema plugin support for avsc files is now improved, intra-file references are correctly supported irrespective of the file order.
  2. Tsdb3, the default metric file format is now a standard avro file.
  3. Added utility to aggregate high granularity observations to lower granularity. (see MeasurementStoreQuery and examples at and at)
  4. Spf4j vitals metric names now are proper java/c identifiers to make they use simpler in prometheus, etc...
  5. The test logger backend is now easier to use, ExpectLog now support class additional to string categories + additional validations to help getting started.

Release 8.7.4

05 Feb 17:15
Compare
Choose a tag to compare
  • This release contains changes to ExecutionContext, making it easier to use with accumulator tags.
  • Release contains additional code around the tsdb2 making the data more easily accessible, and as a result you can easily expose it via a REST edpoint to get to your metrics, their detail and get them in any format you might need: json, avro binary or csv or prometheus. For more detail see
  • fix an issue with org.spf4j:maven-avro-schema-plugin where schema build failed when previous version was missing index.
  • added text/json converter to Throwables as such the test-logger will print them out nicely.
  • library updates: avro 1.9.0.18p, jackson 2.10.2
  • minor enhancements and cleanup.