@Override public Summary getSummary() { Collection<RecordEventsSpanImpl> allRunningSpans = runningSpans.getAll(); Map<String, Integer> numSpansPerName = new HashMap<String, Integer>(); for (RecordEventsSpanImpl span : allRunningSpans) { Integer prevValue = numSpansPerName.get(span.getName()); numSpansPerName.put(span.getName(), prevValue != null ? prevValue + 1 : 1); } Map<String, PerSpanNameSummary> perSpanNameSummary = new HashMap<String, PerSpanNameSummary>(); for (Map.Entry<String, Integer> it : numSpansPerName.entrySet()) { perSpanNameSummary.put(it.getKey(), PerSpanNameSummary.create(it.getValue())); } Summary summary = Summary.create(perSpanNameSummary); return summary; }
emitSummaryTableHeader(out, formatter); Set<String> spanNames = new TreeSet<>(runningSpanStoreSummary.getPerSpanNameSummary().keySet()); spanNames.addAll(sampledSpanStoreSummary.getPerSpanNameSummary().keySet()); boolean zebraColor = true; runningSpanStoreSummary.getPerSpanNameSummary().get(spanName);
final RecordEventsSpanImpl span2 = createSpan(SPAN_NAME_1); final RecordEventsSpanImpl span3 = createSpan(SPAN_NAME_1); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().size()).isEqualTo(1); assertThat( activeSpansExporter .getSummary() .getPerSpanNameSummary() .get(SPAN_NAME_1) .getNumRunningSpans()) .isEqualTo(3); span1.end(); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().size()).isEqualTo(1); assertThat( activeSpansExporter .getSummary() .getPerSpanNameSummary() .get(SPAN_NAME_1) .getNumRunningSpans()) .isEqualTo(2); span2.end(); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().size()).isEqualTo(1); assertThat( activeSpansExporter .getSummary() .getPerSpanNameSummary() .get(SPAN_NAME_1) .getNumRunningSpans()) .isEqualTo(1); span3.end();
final RecordEventsSpanImpl span1 = createSpan(SPAN_NAME_1); final RecordEventsSpanImpl span2 = createSpan(SPAN_NAME_2); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().size()).isEqualTo(2); assertThat( activeSpansExporter .getSummary() .getPerSpanNameSummary() .get(SPAN_NAME_1) .getNumRunningSpans()) activeSpansExporter .getSummary() .getPerSpanNameSummary() .get(SPAN_NAME_2) .getNumRunningSpans()) .isEqualTo(1); span1.end(); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().size()).isEqualTo(1); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().get(SPAN_NAME_1)).isNull(); assertThat( activeSpansExporter .getSummary() .getPerSpanNameSummary() .get(SPAN_NAME_2) .getNumRunningSpans()) .isEqualTo(1); span2.end(); assertThat(activeSpansExporter.getSummary().getPerSpanNameSummary().size()).isEqualTo(0);
@Before public void setUp() { MockitoAnnotations.initMocks(this); Map<String, RunningSpanStore.PerSpanNameSummary> runningSummaryMap = new HashMap<>(); runningSummaryMap.put(ACTIVE_SPAN_NAME, RunningSpanStore.PerSpanNameSummary.create(3)); runningSummaryMap.put(ACTIVE_SAMPLED_SPAN_NAME, RunningSpanStore.PerSpanNameSummary.create(5)); runningSpanStoreSummary = RunningSpanStore.Summary.create(runningSummaryMap); Map<LatencyBucketBoundaries, Integer> numbersOfLatencySampledSpans = new HashMap<>(); numbersOfLatencySampledSpans.put(LatencyBucketBoundaries.MILLIx1_MILLIx10, 3); numbersOfLatencySampledSpans.put(LatencyBucketBoundaries.MICROSx10_MICROSx100, 7); Map<CanonicalCode, Integer> numbersOfErrorSampledSpans = new HashMap<>(); numbersOfErrorSampledSpans.put(CanonicalCode.CANCELLED, 2); numbersOfErrorSampledSpans.put(CanonicalCode.DEADLINE_EXCEEDED, 5); Map<String, SampledSpanStore.PerSpanNameSummary> sampledSummaryMap = new HashMap<>(); sampledSummaryMap.put( SAMPLED_SPAN_NAME, SampledSpanStore.PerSpanNameSummary.create( numbersOfLatencySampledSpans, numbersOfErrorSampledSpans)); sampledSummaryMap.put( ACTIVE_SAMPLED_SPAN_NAME, SampledSpanStore.PerSpanNameSummary.create( numbersOfLatencySampledSpans, numbersOfErrorSampledSpans)); sampledSpanStoreSummary = SampledSpanStore.Summary.create(sampledSummaryMap); }
@Override public Summary getSummary() { Collection<RecordEventsSpanImpl> allRunningSpans = runningSpans.getAll(); Map<String, Integer> numSpansPerName = new HashMap<String, Integer>(); for (RecordEventsSpanImpl span : allRunningSpans) { Integer prevValue = numSpansPerName.get(span.getName()); numSpansPerName.put(span.getName(), prevValue != null ? prevValue + 1 : 1); } Map<String, PerSpanNameSummary> perSpanNameSummary = new HashMap<String, PerSpanNameSummary>(); for (Map.Entry<String, Integer> it : numSpansPerName.entrySet()) { perSpanNameSummary.put(it.getKey(), PerSpanNameSummary.create(it.getValue())); } Summary summary = Summary.create(perSpanNameSummary); return summary; }
@Test public void noopRunningSpanStore_GetSummary() { RunningSpanStore.Summary summary = runningSpanStore.getSummary(); assertThat(summary.getPerSpanNameSummary()).isEmpty(); }
private void getMethodsShouldReturnEmpty() { // get methods should always return empty collections. assertThat(runningSpanStoreImpl.getSummary().getPerSpanNameSummary()).isEmpty(); assertThat(runningSpanStoreImpl.getRunningSpans(filter)).isEmpty(); }