protected SystemHiddenTask(String name) { super(name); _shallowTraceBuilder.setSystemHidden(true); } }
@Override public ShallowTrace getShallowTrace() { return _shallowTraceBuilder.build(); }
@Test public void testReversibleWithMultipleAttributes() throws IOException { final ShallowTraceBuilder test = new ShallowTraceBuilder(IdGenerator.getNextId()).setName("test") .setResultType(ResultType.SUCCESS).setStartNanos(0L).setPendingNanos(50L).addAttribute("key1", "value1") .addAttribute("key2", "value2").addAttribute("key3", "value3").setEndNanos(100L); final Trace trace = Trace.single(test.build(), "test", 0L); assertReversible(trace); }
private static void writeRelationships(final Trace trace, final JsonGenerator generator) throws IOException { generator.writeArrayFieldStart(JsonTraceCodec.RELATIONSHIPS); for (TraceRelationship rel : trace.getRelationships()) { generator.writeStartObject(); generator.writeStringField(JsonTraceCodec.RELATIONSHIP_RELATIONSHIP, rel.getRelationhsip().name()); generator.writeNumberField(JsonTraceCodec.RELATIONSHIP_FROM, rel.getFrom()); generator.writeNumberField(JsonTraceCodec.RELATIONSHIP_TO, rel.getTo()); generator.writeEndObject(); } generator.writeEndArray(); }
private Long getChild(TraceRelationship rel, Long parent) { if ((rel.getRelationhsip() == Relationship.PARENT_OF || rel.getRelationhsip() == Relationship.POTENTIAL_PARENT_OF) && rel.getFrom().equals(parent)) { return rel.getTo(); } if (rel.getRelationhsip() == Relationship.POTENTIAL_CHILD_OF && rel.getTo().equals(parent)) { return rel.getFrom(); } return null; }
private Set<TraceRelationship> getRelationships(Trace trace, long id) { Set<TraceRelationship> result = new HashSet<>(); for (TraceRelationship rel : trace.getRelationships()) { if (rel.getFrom() == id || rel.getTo() == id) { result.add(rel); } } return result; }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((_from.getId() == null) ? 0 : _from.getId().hashCode()); result = prime * result + ((_relationship == null) ? 0 : _relationship.hashCode()); result = prime * result + ((_to.getId() == null) ? 0 : _to.getId().hashCode()); return result; }
@Override public ShallowTraceBuilder getShallowTraceBuilder() { return new ShallowTraceBuilder(0L); }
@Override public TraceBuilder getTraceBuilder() { return new TraceBuilder(1024, "test", 0L); }
@Override public String toString() { try { return TraceUtil.getJsonTrace(this); } catch (IOException e) { throw new RuntimeException("Could not serialize trace to JSON", e); } }
public static Trace single(ShallowTrace shallowTrace) { return single(shallowTrace, TraceBuilder.UNKNOWN_PLAN_CLASS, TraceBuilder.UNKNOWN_PLAN_ID); }
public synchronized void addRelationship(final Relationship relationship, final ShallowTraceBuilder from, final ShallowTraceBuilder to) { if (_relationships.size() < _maxTraceBuildersPerTrace) { TraceRelationship rel = new TraceRelationship(from, to, relationship); _relationships.add(rel); } }
@Override public ShallowTrace getShallowTrace() { _shallowTraceBuilder.setHidden(true); return super.getShallowTrace(); } };
@Test public void testReversibleSuccessfulTrace() throws IOException { final ShallowTraceBuilder test = new ShallowTraceBuilder(IdGenerator.getNextId()).setName("test").setResultType(ResultType.SUCCESS) .setValue("test value").setStartNanos(0L).setPendingNanos(50L).setEndNanos(100L); final Trace trace = Trace.single(test.build(), "test", 0L); assertReversible(trace); }
public Long getFrom() { return _from.getId(); }
public static void printTracingResults(final Task<?> task) { System.out.println(); System.out.println(); System.out.println("JSON Trace:"); try { System.out.println(TraceUtil.getJsonTrace(task)); } catch (IOException e) { System.err.println("Failed to encode JSON"); } System.out.println(); } }
public Long getTo() { return _to.getId(); }