public interface SasFacility extends Referenceable
Entry point to the SAS event reporting facility.
Users of this facility create a Trail
, then use that to create and report events The Trail
interface provides two ways to create then report Events and Markers:
create a message, add parameters, then report the message
convenience methods that create a Marker or Event, with various combinations of parameters, then report it, in one call.
The SAS Facility supports communication with a federation of SAS servers.
As such, trails created with startTrail()
are distributed between servers by simple round-robin.
When starting a new trail that will be associated with an existing one, use startColocatedTrail(Trail)
or startAndAssociateTrail(Trail, Scope)
to start a new trail on the same server as the given trail.
Modifier and Type | Field and Description |
---|---|
static String |
CONFIG_PROPERTY_NAME |
static String |
JNDI_NAME |
Modifier and Type | Method and Description |
---|---|
Trail |
copyOrCreateTrail(ActivityContextInterface fromActivity,
ActivityContextInterface toActivity)
Attach the Trail from
fromActivity to toActivity . |
Trail |
getOrCreateTrail(ActivityContextInterface aci)
Get the trail attached to an activity or a new trail if one is not bound.
|
Trail |
getOrCreateTrail(ActivityHandle handle)
Get the trail attached to an activity or a new trail if one is not bound.
|
Trail |
getOrCreateTrail(EventContext event)
Get the trail attached to the activity owning an event, or a new trail if one is not bound.
|
Trail |
getTrail(ActivityHandle handle)
Get the trail attached to an activity.
|
boolean |
isEnabled()
Return the current state of the global SAS enabled flag.
|
void |
setActivityTrail(ActivityContextInterface aci,
Trail trail)
Set the trail for an Activity.
|
void |
setActivityTrail(ActivityHandle handle,
Trail trail)
Set the trail for an Activity.
|
void |
setActivityTrail(EventContext event,
Trail trail)
Attach a given Trail to the Activity owning an EventContext.
|
Trail |
startAndAssociateTrail(Trail trail,
Scope scope)
Start a new colocated SAS trail, and associate it with the original trail.
|
Trail |
startColocatedTrail(Trail trail)
Start a new SAS trail on the same server as an existing SAS trail.
|
Trail |
startTrail()
Send a start marker on the next trail ID, and return a trail to create and send messages on.
|
Trail |
startTrail(UUID steeringId)
Send a start marker on the next trail ID, and return a trail to create and send messages on.
|
getReference
static final String JNDI_NAME
static final String CONFIG_PROPERTY_NAME
boolean isEnabled()
Return the current state of the global SAS enabled flag.
Trail startTrail()
Send a start marker on the next trail ID, and return a trail to create and send messages on. Trails are distributed between available servers by a simple round robin algorithm.
Service code (SBBs, SBB Parts) should use getOrCreateTrail(ActivityContextInterface)
in preference to this method.
Trail startTrail(UUID steeringId)
Send a start marker on the next trail ID, and return a trail to create and send messages on. Trails are distributed between available servers by a simple round robin algorithm. Uses a UUID steering ID provided by another network element to associate with a trail reported by that element.
Service code (SBBs, SBB Parts) should use getOrCreateTrail(ActivityContextInterface)
in preference to this method.
Trail startColocatedTrail(Trail trail)
Start a new SAS trail on the same server as an existing SAS trail.
To facilitate associating trails when using a federation of SAS servers this method starts the new trail on the same server as the provided trail.
trail
- a Trail associated with the desired SAS servertrail
, or the NullTrail
if this server is unavailable permanently.Trail startAndAssociateTrail(Trail trail, Scope scope)
Start a new colocated SAS trail, and associate it with the original trail.
trail
- to associate withscope
- association scopeTrail copyOrCreateTrail(ActivityContextInterface fromActivity, ActivityContextInterface toActivity)
Attach the Trail from fromActivity
to toActivity
.
If no Trail is attached to fromActivity
, start a Trail, and attach it to both Activities.
This blindly overwrites any existing trail attachment in toActivity
.
fromActivity
- Activity to copy trail fromtoActivity
- Activity to copy trail tovoid setActivityTrail(ActivityHandle handle, Trail trail)
Set the trail for an Activity. This association is one-way, a trail may be attached to multiple activities.
This method is only usable from SasFacility instances owned by a Resource Adaptor.
handle
- The handle for the Activity to attach the trail totrail
- The trail to attachUnrecognizedActivityHandleException
- if the handle is null, or does not point to a live activityvoid setActivityTrail(EventContext event, Trail trail)
Attach a given Trail to the Activity owning an EventContext.
event
- EventContext owned by the Activity to attach the Trail totrail
- to attach to Activity owning eventvoid setActivityTrail(ActivityContextInterface aci, Trail trail)
Set the trail for an Activity. This association is one-way, a trail may be attached to multiple activities.
This method is only usable from SasFacility instances obtained from an SBB context.
aci
- The ACI for the Activity to attach the trail totrail
- The trail to attachNullPointerException
- if the ACI is nullTrail getTrail(ActivityHandle handle)
Get the trail attached to an activity. Returns null if no activity is bound.
This method is only usable from SasFacility instances owned by a Resource Adaptor.
RAs should create the trail and attach it with setActivityTrail(ActivityHandle, Trail)
before calling this method.
handle
- The handle for the Activity to get the trail fromUnrecognizedActivityHandleException
- if the handle is null, or does not point to a live activityTrail getOrCreateTrail(ActivityHandle handle)
Get the trail attached to an activity or a new trail if one is not bound. The new trail will be bound to the activity.
This method is only usable from SasFacility instances obtained from a Resource Adaptor context.
handle
- An ActivityHandle referencing the Activity to get the trail fromUnrecognizedActivityHandleException
- if the handle is null, or does not point to a live activityTrail getOrCreateTrail(EventContext event)
Get the trail attached to the activity owning an event, or a new trail if one is not bound. The new trail will be bound to the owning activity.
event
- An event on the Activity to fetch the trail fromTrail getOrCreateTrail(ActivityContextInterface aci)
Get the trail attached to an activity or a new trail if one is not bound. The new trail will be bound to the activity.
This method is only usable from SasFacility instances obtained from an SBB context.
aci
- An ACI referencing the Activity to get the trail fromNullPointerException
- if the ACI is null