Skip to content

Releases: iopipe/iopipe-java

Adjustments and Build Issue Fixes

25 Feb 16:49
ce7b8d6
Compare
Choose a tag to compare
  • Add environment variable IOPIPE_HANDLER to match other agents.
  • Correct building with OpenJDK 11.
  • Update versions.

Layer versions:

  • ap-northeast-1: arn:aws:lambda:ap-northeast-1:146318645305:layer:IOpipeJava8:4
  • ap-northeast-2: arn:aws:lambda:ap-northeast-2:146318645305:layer:IOpipeJava8:4
  • ap-south-1: arn:aws:lambda:ap-south-1:146318645305:layer:IOpipeJava8:4
  • ap-southeast-1: arn:aws:lambda:ap-southeast-1:146318645305:layer:IOpipeJava8:4
  • ap-southeast-2: arn:aws:lambda:ap-southeast-2:146318645305:layer:IOpipeJava8:4
  • ca-central-1: arn:aws:lambda:ca-central-1:146318645305:layer:IOpipeJava8:4
  • eu-central-1: arn:aws:lambda:eu-central-1:146318645305:layer:IOpipeJava8:4
  • eu-west-1: arn:aws:lambda:eu-west-1:146318645305:layer:IOpipeJava8:4
  • eu-west-2: arn:aws:lambda:eu-west-2:146318645305:layer:IOpipeJava8:4
  • eu-west-3: arn:aws:lambda:eu-west-3:146318645305:layer:IOpipeJava8:4
  • us-east-1: arn:aws:lambda:us-east-1:146318645305:layer:IOpipeJava8:4
  • us-east-2: arn:aws:lambda:us-east-2:146318645305:layer:IOpipeJava8:4
  • us-west-1: arn:aws:lambda:us-west-1:146318645305:layer:IOpipeJava8:4
  • us-west-2: arn:aws:lambda:us-west-2:146318645305:layer:IOpipeJava8:4

Agent Refactoring

04 Dec 20:34
f5864f4
Compare
Choose a tag to compare

Released on December 4, 2018.

  • The agent has undergone a refactor and code cleanup.

Lambda Layer ARNs:

  • ap-northeast-1: arn:aws:lambda:ap-northeast-1:146318645305:layer:IOpipeJava8:1
  • ap-northeast-2: arn:aws:lambda:ap-northeast-2:146318645305:layer:IOpipeJava8:1
  • ap-south-1: arn:aws:lambda:ap-south-1:146318645305:layer:IOpipeJava8:1
  • ap-southeast-1: arn:aws:lambda:ap-southeast-1:146318645305:layer:IOpipeJava8:1
  • ap-southeast-2: arn:aws:lambda:ap-southeast-2:146318645305:layer:IOpipeJava8:1
  • ca-central-1: arn:aws:lambda:ca-central-1:146318645305:layer:IOpipeJava8:1
  • eu-central-1: arn:aws:lambda:eu-central-1:146318645305:layer:IOpipeJava8:1
  • eu-west-1: arn:aws:lambda:eu-west-1:146318645305:layer:IOpipeJava8:1
  • eu-west-2: arn:aws:lambda:eu-west-2:146318645305:layer:IOpipeJava8:1
  • eu-west-3: arn:aws:lambda:eu-west-3:146318645305:layer:IOpipeJava8:1
  • us-east-1: arn:aws:lambda:us-east-1:146318645305:layer:IOpipeJava8:2
  • us-east-2: arn:aws:lambda:us-east-2:146318645305:layer:IOpipeJava8:1
  • us-west-1: arn:aws:lambda:us-west-1:146318645305:layer:IOpipeJava8:1
  • us-west-2: arn:aws:lambda:us-west-2:146318645305:layer:IOpipeJava8:1

Critical Bug Fix Release

13 Nov 21:59
14e79cb
Compare
Choose a tag to compare

This release fixes a critical bug where not having the configuration resource causes a crash.

Bug Fixes

05 Nov 20:33
00391ae
Compare
Choose a tag to compare

This release contains bug fixes to improve the agent.

  • The configuration can be placed in the JAR inside of /iopipe.properties.
  • The generic entry point handler can now be set via system property.
  • If plugins fail to initialize they will not be initialized again.
  • Deprecated static configuration.
  • Removal of deprecated profiler URL which was replaced by signer.
  • An alternative collector URL may now be specified.

Support for logger adapting to report logs to IOpipe

10 Oct 18:03
Compare
Choose a tag to compare

Released on October 10, 2018.

  • Support for the IOpipe logger events and log uploading.
  • The event-info plugin no longer fails if classes it supports by default do not exist.
  • The class IOpipeMeasurement has been removed.
  • The deprecated methods IOpipeExecution.plugin() which took functional interfaces have been removed.
  • Extra method in TraceUtils to trace a few functional interfaces, these methods always run.
  • Internal optimizations and refactoring.

Bug Fixes

10 Sep 19:33
Compare
Choose a tag to compare

This release fixes some bugs and adds support for type variables used for Generic Entry Points where the handler is in a base class which uses type variables.

  • The Generic Entry Point handler now correctly handles type variables used in the base class entry method arguments.
    • It currently does not handle type variables within parameterized types, they will be treated as their lowest bound. (handleRequest(T) where T is List<Q extends CharSequence>, the type passed will be List<CharSequence>).
  • Event-info now properly works with the Generic Entry Point handler.
  • Dependencies have been updated.
  • Corrects exception thrown when disk percentage is NaN or Infinity.
  • IOpipe now builds on Windows.
  • The duration reported by the profiler is now correct.
  • The following classes have been deprecated:
    • IOpipeMeasurement -- This class is redundant and its functionality has been moved into IOpipeExecution.

Generic Entry Point for Java Lambdas

28 Aug 23:24
Compare
Choose a tag to compare

This release adds support for generic entry points for Java Lambdas, this give you the ability to wrap your methods with IOpipe without needing to modify your existing code.

Information on the usage of generic entry points is located at https://github.com/iopipe/iopipe-java/tree/v1.7.0#generic-entry-point-wrappers.

  • Added a generic entry point handler which allows you to more easily wrap methods without needing to write wrappers as needed.
  • Added run() methods which take RequestHandler and RequestStreamHandler to IOpipeService to make manual wrapping easier.
  • IOpipeExecution.currentExecution() will now always return a value to make the wrapper easier to use when there is no current wrapper to prevent NullPointerExceptionss.
  • Project dependencies have been updated.
  • Better handling of recursive IOpipeService.run() calls.
  • When RequestStreamHandler is wrapped report the exception that the wrapped method throws rather than reporting the exception that is used to wrap it.
  • Fixed a bug where the Process ID call was not valid.
  • Organized the README.
  • Deprecated:
    • The methods IOpipeExecution.plugin() that take method handles has been deprecated.
    • The class IOpipeMeasurement has been deprecated.

Support SQS In Event-Info

07 Aug 17:18
Compare
Choose a tag to compare

This adds support for SQS in event-info along with fixing a few bugs and improving the performance of the agent.

  • Fixed a bug where IOPIPE_ENABLED environment variable would cause the lambda to not be executed and throw an exception for each invocation.
  • SQS Event-Info Support.
  • Added a means to obtain IOpipeExecution statically.
  • Refactoring to increase code quality and enhance performance.
    • Internally IOpipe uses TinyLog instead of Log4j2 which gives an estimated performance increase of 1.4x.

Auto-Labels

30 Jul 16:39
Compare
Choose a tag to compare

This version adds an improvement to the labels feature with labels that are automatically added under certain circumstances.

You can read about labels at https://read.iopipe.com/labeling-your-invocations-to-understand-your-aws-lambda-invocation-data-deb606ff82f9.

This version adds support for auto-labels which allow for quick searching of invocations in the dashboard.

  • Auto-Labels.
  • Refactoring to increase code quality and enhance performance.
  • Fixed a bug where CPU times were not recorded correctly.
  • Fixed a bug where the profiler would fail in a very specific edge case.

Profiling Statistics

28 Jun 22:15
Compare
Choose a tag to compare

When profiling is enabled, you can now get a glimpse of the various Java virtual machine statistics at the start and end of your lambda execution. These statistics contain information on memory allocation, the number classes which have been loaded, the number of times the garbage collector was called, along with other statistics. Read more about profiling.