private Map<CanonicalCode, Integer> getNumbersOfErrorSampledSpans() { Map<CanonicalCode, Integer> errorBucketSummaries = new EnumMap<CanonicalCode, Integer>(CanonicalCode.class); for (int i = 0; i < NUM_ERROR_BUCKETS; i++) { errorBucketSummaries.put(CanonicalCode.values()[i + 1], errorBuckets[i].getNumSamples()); } return errorBucketSummaries; }
private Map<CanonicalCode, Integer> getNumbersOfErrorSampledSpans() { Map<CanonicalCode, Integer> errorBucketSummaries = new EnumMap<CanonicalCode, Integer>(CanonicalCode.class); for (int i = 0; i < NUM_ERROR_BUCKETS; i++) { errorBucketSummaries.put(CanonicalCode.values()[i + 1], errorBuckets[i].getNumSamples()); } return errorBucketSummaries; }
private static List<Status> buildStatusList() { TreeMap<Integer, Status> canonicalizer = new TreeMap<Integer, Status>(); for (CanonicalCode code : CanonicalCode.values()) { Status replaced = canonicalizer.put(code.value(), new Status(code, null)); if (replaced != null) { throw new IllegalStateException( "Code value duplication between " + replaced.getCanonicalCode().name() + " & " + code.name()); } } return Collections.unmodifiableList(new ArrayList<Status>(canonicalizer.values())); }
@Test public void convertToGrpcStatus() { // Without description for (io.opencensus.trace.Status.CanonicalCode opencensusCanonicalCode : io.opencensus.trace.Status.CanonicalCode.values()) { io.opencensus.trace.Status opencensusStatus = opencensusCanonicalCode.toStatus(); io.grpc.Status grpcStatus = StatusConverter.toGrpcStatus(opencensusStatus); assertThat(grpcStatus.getCode().toString()) .isEqualTo(opencensusStatus.getCanonicalCode().toString()); assertThat(grpcStatus.getDescription()).isNull(); } // With description for (io.opencensus.trace.Status.CanonicalCode opencensusCanonicalCode : io.opencensus.trace.Status.CanonicalCode.values()) { io.opencensus.trace.Status opencensusStatus = opencensusCanonicalCode.toStatus().withDescription("This is my description"); io.grpc.Status grpcStatus = StatusConverter.toGrpcStatus(opencensusStatus); assertThat(grpcStatus.getCode().toString()) .isEqualTo(opencensusStatus.getCanonicalCode().toString()); assertThat(grpcStatus.getDescription()).isEqualTo(opencensusStatus.getDescription()); } } }
private static List<Status> buildStatusList() { TreeMap<Integer, Status> canonicalizer = new TreeMap<Integer, Status>(); for (CanonicalCode code : CanonicalCode.values()) { Status replaced = canonicalizer.put(code.value(), new Status(code, null)); if (replaced != null) { throw new IllegalStateException( "Code value duplication between " + replaced.getCanonicalCode().name() + " & " + code.name()); } } return Collections.unmodifiableList(new ArrayList<Status>(canonicalizer.values())); }
@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); } }
@Test public void convertToGrpcCode() { for (io.opencensus.trace.Status.CanonicalCode opencensusCanonicalCode : io.opencensus.trace.Status.CanonicalCode.values()) { io.grpc.Status.Code grpcCanonicalCode = StatusConverter.toGrpcCode(opencensusCanonicalCode); assertThat(grpcCanonicalCode.toString()).isEqualTo(opencensusCanonicalCode.toString()); } }
private void addSpanNameToAllErrorBuckets(String spanName) { for (CanonicalCode code : CanonicalCode.values()) { if (code != CanonicalCode.OK) { Span sampledSpan = createSampledSpan(spanName); Span notSampledSpan = createNotSampledSpan(spanName); testClock.advanceTime(Duration.create(0, 1000)); sampledSpan.end(EndSpanOptions.builder().setStatus(code.toStatus()).build()); notSampledSpan.end(EndSpanOptions.builder().setStatus(code.toStatus()).build()); } } }