@Override public void putHttp(String key, Object value) { checkAlreadyEmitted(); validateNotNull(key); validateNotNull(value); http.put(key, value); }
@Override public void putMetadata(String key, Object object) { checkAlreadyEmitted(); putMetadata(DEFAULT_METADATA_NAMESPACE, key, object); }
public FacadeSegment(AWSXRayRecorder recorder, TraceID traceId, String id, SampleDecision sampleDecision) { super(recorder, "facade"); super.setTraceId(traceId); super.setId(id); this.sampled = (SampleDecision.SAMPLED == sampleDecision); }
@Override public void setSubsegmentsLock(ReentrantLock subsegmentsLock) { checkAlreadyEmitted(); this.subsegmentsLock = subsegmentsLock; }
@Override public void removeSubsegment(Subsegment subsegment) { synchronized(subsegments) { getSubsegments().remove(subsegment); } getParentSegment().getTotalSize().decrement(); }
@Override public boolean decrementReferenceCount() { checkAlreadyEmitted(); referenceCount.decrement(); return !isInProgress() && referenceCount.intValue() <= 0; }
/** * Checks if the entity has already been emitted to the X-Ray daemon. * * @throws AlreadyEmittedException * if the entity has already been emitted to the X-Ray daemon and the ContextMissingStrategy of the AWSXRayRecorder used to create this entity is configured to throw exceptions * */ protected void checkAlreadyEmitted() { if (emitted) { getCreator().getContextMissingStrategy().contextMissing("Segment " + getName() + " has already been emitted.", AlreadyEmittedException.class); } }
@Override public void addException(Throwable exception) { checkAlreadyEmitted(); setFault(true); synchronized (subsegments) { cause.addExceptions(creator.getThrowableSerializationStrategy().describeInContext(exception, subsegments)); } }
@Override public void setMetadata(Map<String, Map<String, Object>> metadata) { checkAlreadyEmitted(); this.metadata = metadata; }
@Override public void removeSubsegment(Subsegment subsegment) { synchronized(subsegments) { getSubsegments().remove(subsegment); } getParentSegment().getTotalSize().decrement(); }
@Override public boolean decrementReferenceCount() { checkAlreadyEmitted(); referenceCount.decrement(); return !isInProgress() && referenceCount.intValue() <= 0; }
/** * Checks if the entity has already been emitted to the X-Ray daemon. * * @throws AlreadyEmittedException * if the entity has already been emitted to the X-Ray daemon and the ContextMissingStrategy of the AWSXRayRecorder used to create this entity is configured to throw exceptions * */ protected void checkAlreadyEmitted() { if (emitted) { getCreator().getContextMissingStrategy().contextMissing("Segment " + getName() + " has already been emitted.", AlreadyEmittedException.class); } }
@Override public void addException(Throwable exception) { checkAlreadyEmitted(); setFault(true); synchronized (subsegments) { cause.addExceptions(creator.getThrowableSerializationStrategy().describeInContext(exception, subsegments)); } }
@Override public void putSql(String key, Object value) { checkAlreadyEmitted(); validateNotNull(key); validateNotNull(value); sql.put(key, value); }
@Override public void setFault(boolean fault) { checkAlreadyEmitted(); this.fault = fault; }
public FacadeSegment(AWSXRayRecorder recorder, TraceID traceId, String id, SampleDecision sampleDecision) { super(recorder, "facade"); super.setTraceId(traceId); super.setId(id); this.sampled = (SampleDecision.SAMPLED == sampleDecision); }
@Override public void putMetadata(String key, Object object) { checkAlreadyEmitted(); putMetadata(DEFAULT_METADATA_NAMESPACE, key, object); }
@Override public void putAnnotation(String key, Number value) { checkAlreadyEmitted(); validateNotNull(key); validateNotNull(value); annotations.put(key, value); }
@Override public void setError(boolean error) { checkAlreadyEmitted(); this.error = error; }
@Override public void putHttp(String key, Object value) { checkAlreadyEmitted(); validateNotNull(key); validateNotNull(value); http.put(key, value); }