@Override public Summary getSummary() { Map<String, PerSpanNameSummary> ret = new HashMap<String, PerSpanNameSummary>(); synchronized (samples) { for (Map.Entry<String, PerSpanNameSamples> it : samples.entrySet()) { ret.put( it.getKey(), PerSpanNameSummary.create( it.getValue().getNumbersOfLatencySampledSpans(), it.getValue().getNumbersOfErrorSampledSpans())); } } return Summary.create(ret); }
Map<LatencyBucketBoundaries, Integer> latencyBucketsSummaries = sampledSpanStorePerSpanNameSummary != null ? sampledSpanStorePerSpanNameSummary.getNumbersOfLatencySampledSpans() : null; int subtype = 0; if (sampledSpanStorePerSpanNameSummary != null) { Map<CanonicalCode, Integer> errorBucketsSummaries = sampledSpanStorePerSpanNameSummary.getNumbersOfErrorSampledSpans(); int numErrorSamples = 0; for (Map.Entry<CanonicalCode, Integer> it : errorBucketsSummaries.entrySet()) {
@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() { Map<String, PerSpanNameSummary> ret = new HashMap<String, PerSpanNameSummary>(); synchronized (samples) { for (Map.Entry<String, PerSpanNameSamples> it : samples.entrySet()) { ret.put( it.getKey(), PerSpanNameSummary.create( it.getValue().getNumbersOfLatencySampledSpans(), it.getValue().getNumbersOfErrorSampledSpans())); } } return Summary.create(ret); }
@Test public void addSpansWithRegisteredNamesInAllLatencyBuckets() { addSpanNameToAllLatencyBuckets(REGISTERED_SPAN_NAME); Map<String, PerSpanNameSummary> perSpanNameSummary = sampleStore.getSummary().getPerSpanNameSummary(); assertThat(perSpanNameSummary.size()).isEqualTo(1); Map<LatencyBucketBoundaries, Integer> latencyBucketsSummaries = perSpanNameSummary.get(REGISTERED_SPAN_NAME).getNumbersOfLatencySampledSpans(); assertThat(latencyBucketsSummaries.size()).isEqualTo(LatencyBucketBoundaries.values().length); for (Map.Entry<LatencyBucketBoundaries, Integer> it : latencyBucketsSummaries.entrySet()) { assertThat(it.getValue()).isEqualTo(2); } }
@Test public void addSpansWithRegisteredNamesInAllErrorBuckets() { addSpanNameToAllErrorBuckets(REGISTERED_SPAN_NAME); Map<String, PerSpanNameSummary> perSpanNameSummary = sampleStore.getSummary().getPerSpanNameSummary(); assertThat(perSpanNameSummary.size()).isEqualTo(1); Map<CanonicalCode, Integer> errorBucketsSummaries = perSpanNameSummary.get(REGISTERED_SPAN_NAME).getNumbersOfErrorSampledSpans(); assertThat(errorBucketsSummaries.size()).isEqualTo(CanonicalCode.values().length - 1); for (Map.Entry<CanonicalCode, Integer> it : errorBucketsSummaries.entrySet()) { assertThat(it.getValue()).isEqualTo(2); } }