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 randomly.
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 sent to the server mapped from UUID. 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