Payara Platform 5.191 - MicroProfile 2.1

Photo of Andrew Pielage by Andrew Pielage

The 5.191 Payara Platform release brought with it support for MicroProfile 2.1. For those who don't know, the only specification updated in this version of MicroProfile was OpenTracing, going from 1.1 to 1.2.

Skip Patterns

A feature utilising MicroProfile Config, you can now skip tracing on JAX-RS endpoints by providing standard Java Regex patterns. You can even specify multiple patterns to make sure you catch all of the methods you need to skip tracing for, using the vertical bar / pipe symbol acting as the splitter between the individual patterns:

 

mp.opentracing.server.skip-pattern=/pretty|/please.*|/skip/me/kthxbai

Operation Name Providers

Operation Name Providers refers to the new option to select one of two formats for the automatic generation of a trace's operation name. You have two options: http-path, or class-method (the latter being the default and the format the auto-generated names followed pre 1.2).

Given the following JAX-RS endpoint...

package fish.payara.doctorwho.memes
@Path("/wibbly")
public class Blink {
    ...
    @GET
    @Path("/wobbly")
    public String getTimeyWimey {
        ...
    }
    ...
}

... the two operation name providers would produce the following operation names respectively:

 

GET:/wibbly/wobbly
GET:fish.payara.doctorwho.memes.Blink.getTimeyWimey

MicroProfile Endpoints No Longer Traced

A convenience feature so that you don't have to specify the skip patterns yourself, the endpoints provided by other MicroProfile specifications (e.g. /health) will no longer be traced, helping to keep the noisiness of the tracing down.

 

Extra Exception Logging

Exceptions thrown when executing a method annotated with @Traced is now added to traces, providing you with extra detail about any additional methods that you're tracing if they fail. Previously, only exceptions thrown by inbound and outbound requests to JAX-RS methods were logged, so this is simply an extension of that pre-existing feature.

 

MicroProfile OpenTracing 1.3: Rest Client Integration

Although not strictly compliant due to us not yet supporting MicroProfile Rest Client 1.2, we went ahead and implemented MicroProfile OpenTracing 1.3 which adds instrumentation to the type-safe Rest clients from another Microprofile spec. Although the specification for OpenTracing 1.3 is explicitly targetted at Rest Client 1.2, it was determined that the OpenTracing specification doesn't actually rely on any APIs introduced specifically between Rest Client 1.1 and 1.2. This allows us to instrument the clients created from our current 1.1 Rest Client implementation for your tracing pleasure. The tracing for these clients is much the same as for "normal" Rest clients, but full details can be found here for reference.

 

Download the latest version of Payara Server or Payara Micro:

 

 Payara Server & Payara Micro  Download Here 

 

 

Comments