Skip to content

Commit 6b2f599

Browse files
committed
cleanup
1 parent 2b5d519 commit 6b2f599

File tree

1 file changed

+9
-23
lines changed

1 file changed

+9
-23
lines changed

telemetry/jetbrains/src/main/kotlin/software/aws/toolkits/telemetry/generator/OTelTelemetryGenerator.kt

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ object OTelTelemetryGenerator {
3333
private val TOOLKIT_DEFAULT_SPAN_BUILDER = ClassName(TOOLKIT_OTEL_PACKAGE, "DefaultSpanBuilder")
3434
private val TOOLKIT_OTEL_SERVICE = ClassName(TOOLKIT_OTEL_PACKAGE, "OTelService")
3535

36+
private val SPAN_TYPE_TYPEVAR = TypeVariableName("SpanType")
37+
3638
private val GENERATED_BASE_SPAN = ClassName(PACKAGE_NAME_IMPL, "BaseSpan")
3739

3840
private val indent = " ".repeat(4)
@@ -49,7 +51,7 @@ object OTelTelemetryGenerator {
4951
// "traceId",
5052
// "metricId",
5153
// "parentId",
52-
// handled as special generator cases
54+
// handled as special cases in base
5355
// "passive",
5456
// "value",
5557
// "unit",
@@ -101,42 +103,26 @@ object OTelTelemetryGenerator {
101103
.addParameter("delegate", OTEL_SPAN)
102104
.build(),
103105
)
104-
.addTypeVariable(TypeVariableName("SpanType", listOf(GENERATED_BASE_SPAN.parameterizedBy(TypeVariableName("SpanType")))))
106+
.addTypeVariable(SPAN_TYPE_TYPEVAR.copy(bounds = listOf(GENERATED_BASE_SPAN.parameterizedBy(SPAN_TYPE_TYPEVAR))))
105107
.superclass(
106108
TOOLKIT_ABSTRACT_BASE_SPAN
107-
.parameterizedBy(TypeVariableName("SpanType")),
109+
.parameterizedBy(SPAN_TYPE_TYPEVAR),
108110
)
109111
.addSuperclassConstructorParameter("context, delegate as %T", OTEL_RW_SPAN)
110112
.apply {
111113
commonMetadataTypes.forEach { t ->
112114
val type = telemetryDefinitions.types.firstOrNull { it.name == t } ?: return@forEach
113115

114-
addFunctions(MetadataSchema(type, false).overloadedFunSpec(TypeVariableName("SpanType")))
116+
addFunctions(MetadataSchema(type, false).overloadedFunSpec(SPAN_TYPE_TYPEVAR))
115117
}
116118

117-
// special case attributes
118-
listOf(
119-
"passive" to BOOLEAN,
120-
"unit" to METRIC_UNIT,
121-
).forEach { pair ->
122-
addFunction(
123-
FunSpec.builder(pair.first)
124-
.addParameter(pair.first, pair.second)
125-
.addStatement("this._%1L = %1N", pair.first)
126-
.build(),
127-
)
128-
}
129-
// special-special case
130-
addFunction(
131-
FunSpec.builder("value")
132-
.addParameter("value", NUMBER)
133-
.addStatement("this._%1L = %1N.toDouble()", "value")
134-
.build(),
135-
)
119+
// special case
136120
addFunction(
137121
FunSpec.builder("success")
138122
.addParameter("success", BOOLEAN)
123+
.returns(SPAN_TYPE_TYPEVAR)
139124
.addStatement("result(if(success) MetricResult.Succeeded else MetricResult.Failed)")
125+
.addStatement("return this as %T", SPAN_TYPE_TYPEVAR)
140126
.build(),
141127
)
142128
}

0 commit comments

Comments
 (0)