private void populateError(Map<String, AttributeValue> attributes, Throwable error) { if (error == null) { attributes.put("status", null); return; } Status status = convertErrorToStatus(error); attributes.put( "status", AttributeValue.stringAttributeValue(status.getCanonicalCode().toString())); }
private void populateError(Map<String, AttributeValue> attributes, Throwable error) { if (error == null) { attributes.put("status", null); return; } Status status = convertErrorToStatus(error); attributes.put( "status", AttributeValue.stringAttributeValue(status.getCanonicalCode().toString())); }
@Test public void convertFromGrpcCode() { for (io.grpc.Status.Code grpcCanonicalCode : io.grpc.Status.Code.values()) { io.opencensus.trace.Status.CanonicalCode opencensusCanonicalCode = StatusConverter.fromGrpcCode(grpcCanonicalCode); assertThat(opencensusCanonicalCode.toString()).isEqualTo(grpcCanonicalCode.toString()); } }
spanBuilder.putTag(STATUS_CODE, status.getCanonicalCode().toString()); if (status.getDescription() != null) { spanBuilder.putTag(STATUS_DESCRIPTION, status.getDescription());
@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()); } } }
@Test public void convertFromGrpcStatus() { // Without description for (io.grpc.Status.Code grpcCanonicalCode : io.grpc.Status.Code.values()) { io.grpc.Status grpcStatus = io.grpc.Status.fromCode(grpcCanonicalCode); io.opencensus.trace.Status opencensusStatus = StatusConverter.fromGrpcStatus(grpcStatus); assertThat(opencensusStatus.getCanonicalCode().toString()) .isEqualTo(grpcStatus.getCode().toString()); assertThat(opencensusStatus.getDescription()).isNull(); } // With description for (io.grpc.Status.Code grpcCanonicalCode : io.grpc.Status.Code.values()) { io.grpc.Status grpcStatus = io.grpc.Status.fromCode(grpcCanonicalCode).withDescription("This is my description"); io.opencensus.trace.Status opencensusStatus = StatusConverter.fromGrpcStatus(grpcStatus); assertThat(opencensusStatus.getCanonicalCode().toString()) .isEqualTo(grpcStatus.getCode().toString()); assertThat(opencensusStatus.getDescription()).isEqualTo(grpcStatus.getDescription()); } }
@Test public void testErrorConversion() { for (Code code : Code.values()) { ApiException error = new ApiException("fake message", null, new FakeStatusCode(code), false); Status opencensusStatus = OpencensusTracer.convertErrorToStatus(error); assertThat(opencensusStatus.getDescription()).isEqualTo("fake message"); assertThat(opencensusStatus.getCanonicalCode().toString()).isEqualTo(code.toString()); } } }
@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()); } }