|
3 | 3 | import static datadog.opentelemetry.shim.trace.OtelSpanEvent.EXCEPTION_MESSAGE_ATTRIBUTE_KEY; |
4 | 4 | import static datadog.opentelemetry.shim.trace.OtelSpanEvent.EXCEPTION_STACK_TRACE_ATTRIBUTE_KEY; |
5 | 5 | import static datadog.opentelemetry.shim.trace.OtelSpanEvent.EXCEPTION_TYPE_ATTRIBUTE_KEY; |
| 6 | +import static datadog.trace.api.DDSpanTypes.HTTP_CLIENT; |
| 7 | +import static datadog.trace.api.DDSpanTypes.HTTP_SERVER; |
| 8 | +import static datadog.trace.api.DDSpanTypes.MESSAGE_CONSUMER; |
| 9 | +import static datadog.trace.api.DDSpanTypes.MESSAGE_PRODUCER; |
6 | 10 | import static datadog.trace.api.DDTags.ANALYTICS_SAMPLE_RATE; |
7 | 11 | import static datadog.trace.api.DDTags.ERROR_MSG; |
8 | 12 | import static datadog.trace.api.DDTags.ERROR_STACK; |
|
21 | 25 | import static java.lang.Boolean.parseBoolean; |
22 | 26 | import static java.util.Locale.ROOT; |
23 | 27 |
|
| 28 | +import datadog.trace.api.DDSpanTypes; |
24 | 29 | import datadog.trace.bootstrap.instrumentation.api.AgentSpan; |
25 | 30 | import datadog.trace.bootstrap.instrumentation.api.SpanAttributes; |
26 | 31 | import datadog.trace.bootstrap.instrumentation.api.Tags; |
@@ -65,6 +70,33 @@ public static String toSpanKindTagValue(SpanKind spanKind) { |
65 | 70 | } |
66 | 71 | } |
67 | 72 |
|
| 73 | + /** |
| 74 | + * Convert OpenTelemetry {@link SpanKind} to {@link DDSpanTypes} values. |
| 75 | + * |
| 76 | + * @param kind The OpenTelemetry span kind to convert. |
| 77 | + * @return The {@link DDSpanTypes} value. |
| 78 | + */ |
| 79 | + public static String convertToSpanType(SpanKind kind) { |
| 80 | + if (kind == null) { |
| 81 | + return null; |
| 82 | + } |
| 83 | + switch (kind) { |
| 84 | + case SERVER: |
| 85 | + return HTTP_SERVER; |
| 86 | + case CLIENT: |
| 87 | + return HTTP_CLIENT; |
| 88 | + case PRODUCER: |
| 89 | + return MESSAGE_PRODUCER; |
| 90 | + case CONSUMER: |
| 91 | + return MESSAGE_CONSUMER; |
| 92 | + case INTERNAL: |
| 93 | + // checking for SpanKind.INTERNAL, returning DDSpanTypes.INTERNAL |
| 94 | + return DDSpanTypes.INTERNAL; |
| 95 | + default: |
| 96 | + return null; |
| 97 | + } |
| 98 | + } |
| 99 | + |
68 | 100 | /** |
69 | 101 | * Convert {@link Tags#SPAN_KIND} value to OpenTelemetry {@link SpanKind}. |
70 | 102 | * |
|
0 commit comments